Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Commits on Feb 24, 2010
  1. Cosmetic changes.

    Martin Baulig authored
    svn path=/trunk/debugger/; revision=152395
  2. Replace `MonoNullObject' with `TargetNullObject'.

    Martin Baulig authored
    2010-02-23  Martin Baulig  <martin@ximian.com>
    
    	* languages/TargetNullObject.cs: New file.
    	(TargetNullObject): New public class.
    
    	* languages/mono/MonoNullObject.cs: Removed.
    	(MonoNullObject): Removed; use `TargetNullObject' instead.
    
    svn path=/trunk/debugger/; revision=152394
Commits on Feb 23, 2010
  1. Don't crash, if .debug_aranges, .debug_pubnames, .debug_pubtypes or .…

    Martin Baulig authored
    …debug_str is missing.
    
    2010-02-23  Martin Baulig  <martin@ximian.com>
    
    	* backend/os/DwarfReader.cs
    	(DwarfReader): Don't crash, if the .debug_aranges,
    	.debug_pubnames, .debug_pubtypes or .debug_str section is
    	missing.
    
    svn path=/trunk/debugger/; revision=152271
Commits on Jan 8, 2010
  1. Fix #559045.

    Martin Baulig authored
    2010-01-08  Martin Baulig  <martin@ximian.com>
    
    	Fix #559045.
    
    	* languages/mono/MonoArrayType.cs
    	(MonoArrayType.GetElementSize): Add support for enums.
    
    	* languages/mono/MonoArrayObject.cs
    	(MonoArrayObject.GetDynamicSize): Use
    	MonoArrayTpe.GetElementSize().
    
    svn path=/trunk/debugger/; revision=149232
  2. Fix #510995.

    Martin Baulig authored
    2010-01-08  Martin Baulig  <martin@ximian.com>
    
    	Fix #510995.
    
    	* frontend/Expression.cs
    	(CastExpression.DoCast): Allow `object' -> 'object'.
    	(Convert.ImplicitConversion): Allow `string' -> `object'.
    
    svn path=/trunk/debugger/; revision=149231
  3. Small fix.

    Martin Baulig authored
    svn path=/trunk/debugger/; revision=149230
Commits on Dec 4, 2009
  1. New 'FunctionBreakpointHandle' API.

    Martin Baulig authored
    2009-12-04  Martin Baulig  <martin@ximian.com>
    
    	* backend/BreakpointHandle.cs
    	(FunctionBreakpointHandle): Make this class abstract.
    
    	* languages/TargetFunctionType.cs
    	(TargetFunctionType): Replace InsertBreakpoint() and
    	RemoveBreakpoint() with a new GetBreakpointHandle() API which
    	returns a `FunctionBreakpointHandle'.
    
    svn path=/trunk/debugger/; revision=147681
  2. Add 'DebuggerConfiguration.UserNotifications'.

    Martin Baulig authored
    2009-11-29  Martin Baulig  <martin@ximian.com>
    
    	* classes/DebuggerConfiguration.cs
    	(DebuggerConfiguration.LoadConfigurationFromStream): Use
    	Report.Error() to report errors instead of throwing an exception.
    	(DebuggerConfiguration.UserNotifications): New public property.
    	(DebuggerConfiguration.NotifyUser_ThreadCreation): Mark as obsolete.
    	(DebuggerConfiguration.UserNotificationType): New public enum.
    
    	* frontend/Command.cs
    	(ConfigCommand): Add `user-notifications' option to modify the new
    	`DebuggerConfiguration.UserNotifications'.
    
    svn path=/trunk/debugger/; revision=147679
  3. Only auto-insert the MainMethodBreakpoint if we're running the CLI.

    Martin Baulig authored
    2009-11-25  Martin Baulig  <martin@ximian.com>
    
    	* classes/DebuggerConfiguration.cs
    	(DebuggerConfiguration.IsCLI): New public property to check
    	whether we're running the CLI or a GUI.
    
    	* classes/DebuggerSession.cs
    	(DebuggerSession.ctor): Only auto-insert the
    	`MainMethodBreakpoint' in the CLI.
    
    svn path=/trunk/debugger/; revision=147678
  4. Fix a race condition in TestMethodLookup.cs: we need to wait till Act…

    Martin Baulig authored
    …ivatePendingBreakpoint() is done.
    
    2009-11-25  Martin Baulig  <martin@ximian.com>
    
    	* classes/DebuggerSession.cs
    	(DebuggerSession.GetEvent): Return null if the event doesn't
    	exist, don't throw any exception.
    
    	* frontend/ScriptingContext.cs
    	(ScriptingContext.ActivatePendingBreakpoint): New internal method;
    	activate pending breakpoints and wait for its completion.
    
    	* frontend/Command.cs
    	(BreakpointDeleteCommand.ActionDone): Call it here ...
    	(BreakCommand.DoExecute): ... and here.
    
    	* test/testsuite/TestMethodLookup.cs: This fixes a race condition here.
    
    svn path=/trunk/debugger/; revision=147677
  5. Improved error reporting.

    Martin Baulig authored
    svn path=/trunk/debugger/; revision=147676
  6. Silently ignore non-existent symfiles.

    Martin Baulig authored
    svn path=/trunk/debugger/; revision=147675
  7. Hardware bpts are per-thread; allow having both a hw and a regular bp…

    Martin Baulig authored
    …t on the same insn.
    
    2009-11-25  Martin Baulig  <martin@ximian.com>
    
    	Hardware breakpoints are per-thread and not per-process; allow
    	having both a hardware and a regular breakpoint on the same
    	instruction.
    
    	* backend/server/x86_64-arch.c
    	(ArchInfo): Add `BreakpointManager *hw_bpm'.
    	(server_ptrace_current_insn_is_bpt): Check both `arch->hw_bpm' and
    	`handle->bpm'; we may now have both a hardware and a regular
    	breakpoint on the same instruction.
    	(lookup_breakpoint): New static function to look in both
    	`arch->hw_bpm' and `handle->bpm'; use this everywhere instead of
    	calling mono_debugger_breakpoint_manager_lookup_by_id() directly.
    
    svn path=/trunk/debugger/; revision=147674
  8. Don't activate address breakpoints twice.

    Martin Baulig authored
    2009-11-25  Martin Baulig  <martin@ximian.com>
    
    	Don't activate address breakpoints twice.
    
    	* classes/AddressBreakpoint.cs
    	(AddressBreakpoint.NeedsActivation): Overwrite and return `false'.
    
    	* frontend/Command.cs
    	(BreakCommand.DoExecute): Check `Breakpoint.NeedsActivation' before
    	calling Activate() on it.
    
    svn path=/trunk/debugger/; revision=147673
  9. Mark these as NotWorking.

    Martin Baulig authored
    svn path=/trunk/debugger/; revision=147672
Commits on Nov 5, 2009
  1. Don't crash if we can't load a symbol file for some reason.

    Martin Baulig authored
    2009-11-05  Martin Baulig  <martin@ximian.com>
    
    	* languages/mono/MonoLanguageBackend.cs
    	(MonoLanguageBackend.Notification): On `LoadModule': don't crash
    	if load_symfile() failed.
    
    svn path=/trunk/debugger/; revision=145525
Commits on Oct 19, 2009
  1. Ignore 'SIGWINCH'.

    Martin Baulig authored
    2009-10-19  Martin Baulig  <martin@ximian.com>
    
    	* backend/Inferior.cs
    	(Inferior.SignalInfo): Add `SIGWINCH'.
    	(Inferior.Has_SIGWINCH): New public property.
    	(Inferior.SIGWINCH): New public property.
    
    	* backend/server.h
    	(SignalInfo): Add `sigwinch'.
    
    	* backend/ThreadManager.cs
    	(ThreadManager.HandleChildEvent): Ignore `SIGWINCH'.
    
    svn path=/trunk/debugger/; revision=144387
  2. Detach after exec() if we don't have permission to debug the child (i…

    Martin Baulig authored
    …t's setuid/setgid).
    
    2009-10-19  Martin Baulig  <martin@ximian.com>
    
    	Detach after exec() if we don't have permission to debug the
    	child; this happens if the exec()d binary is setuid/setgid.
    
    	* backend/Inferior.cs
    	(Inferior.ProcessEvent): Removed child_execd().
    	(Inferior.InitializeAfterExec): Call GetApplication() and
    	start.SetupApplication() here.
    
    	* backend/ProcessServant.cs
    	(ProcessServant.ChildExecd): Catch `TargetError.PermissionDenied'
    	and detach from the process; this happens when exec()ing
    	setuid/setgid applications.
    
    	* classes/TargetException.cs
    	(TargetError): Add `PermissionDenied'.
    
    	* backend/server/x86-linux-ptrace.c
    	(_server_ptrace_setup_inferior): Check `EACCES' and return
    	`COMMAND_ERROR_PERMISSION_DENIED'.
    
    svn path=/trunk/debugger/; revision=144386
Commits on Oct 13, 2009
  1. Fix bug #544935, support recursive invocations of mono_generic_trampo…

    Martin Baulig authored
    …line().
    
    2009-10-14  Martin Baulig  <martin@ximian.com>
    
    	* backend/SingleSteppingEngine.cs
    	(SSE.OperationMonoTrampoline): Fix bug #544935; the runtime now
    	supports a new trampoline notification which also gives us the
    	address of the callsite, so we can detect recursive invocations of
    	mono_generic_trampoline().
    
    svn path=/trunk/debugger/; revision=144053
  2. Add some debugging output to OperationMonoTrampoline.

    Martin Baulig authored
    svn path=/trunk/debugger/; revision=144052
  3. Cosmetic fixes.

    Martin Baulig authored
    svn path=/trunk/debugger/; revision=144051
Commits on Oct 8, 2009
  1. Use full pathname to invoke mono in the 'mdb' script; don't set MONO_…

    Martin Baulig authored
    …GAC_PREFIX etc. for the child process.
    
    2009-10-08  Martin Baulig  <martin@ximian.com>
    
    	* build/mdb: Use the full pathname to invoke mono.
    	* build/mdb-symbolreader: Likewise.
    
    	* backend/ProcessStart.cs
    	(ProcessStart.SetupEnvironment): Don't set `MONO_GAC_PREFIX',
    	`MONO_PATH', `LD_LIBRARY_PATH' and `PATH'.
    
    svn path=/trunk/debugger/; revision=143785
  2. Improve follow-fork(), allow following exec() without forking()ing fi…

    Martin Baulig authored
    …rst to support shell scripts.
    
    2009-10-08  Martin Baulig  <martin@ximian.com>
    
    	Improve follow-fork(), allow following exec() without fork()ing
    	first; shell scripts, for instance, use this technique.
    
    	* classes/Thread.cs
    	(ThreadCommandResult): Use a private `ManualResetEvent'.
    
    	* classes/Operation.cs
    	(OperationCommandResult): Make this class abstract.
    	(OperationCommandResult.Host): Make this property abstract.
    	(OperationCommandResult.OnExecd): New internal abstract method.
    
    	* backend/Inferior.cs
    	(Inferior.SetupInferior): Call GetApplication() instead of using
    	`start.TargetApplication'.
    
    	* backend/ProcessStart.cs
    	(ProcessStart.StopInMain): Add internal setter.
    	(ProcessStart.SetupApplication): Don't set StopInMain to false.
    
    	* backend/ProcessServant.cs
    	(ProcessServant.ChildForked): Set `StopInMain' to false here ...
    	(ProcessServant.ChildExecd): ... but not here.
    	(ProcessServant.ChildExecd): Don't clone the session and reuse the
    	`OperationCommandResult', only call OnExecd() on it to change its
    	`Host' if necessary.
    
    	* classes/DebuggerSession.cs
    	(DebuggerSession.OnProcessExecd): New internal method.
    	(DebuggerSession.OnProcessExited): Unload all modules if we're the
    	main process.
    
    	* backend/ProcessServant.cs
    	(ProcessServant.ProcessCommandResult): New protected class.
    
    	* backend/DebuggerServant.cs
    	(DebuggerServant.GlobalCommandResult): New protected class.
    
    	* test/testsuite/testnativenoforkexec.cs: New test.
    	* test/src/testnativenoforkexec.c: New test.
    
    	* test/testsuite/TestDontFollowFork.cs: Increase timeout.
    
    	* test/testsuite/testnativefork.cs: Remove "NotWorking".
    
    svn path=/trunk/debugger/; revision=143745
Commits on Oct 1, 2009
  1. Actually use 'BuildInfo.mono' to set 'MonoPath'.

    Martin Baulig authored
    2009-10-01  Martin Baulig  <martin@ximian.com>
    
    	* classes/ProcessStart.cs
    	(ProcessStart.cctor): Use `BuildInfo.mono' to set `MonoPath'
    	instead of computing it here.
    
    svn path=/trunk/debugger/; revision=143169
  2. Small fix.

    Martin Baulig authored
    2009-09-29  Martin Baulig  <martin@ximian.com>
    
    	* classes/DebuggerSession.cs
    	(DebuggerSession.GetPendingBreakpoints): Small fix; make this work
    	for native applications.
    
    svn path=/trunk/debugger/; revision=143168
Commits on Sep 24, 2009
  1. Always insert the 'MainMethodBreakpoint' and use it to set the stack …

    Martin Baulig authored
    …pointer.
    
    2009-09-24  Martin Baulig  <martin@ximian.com>
    
    	* classes/DebuggerSession.cs
    	(DebuggerSession.ctor): Always insert the `MainMethodBreakpoint';
    	we need it to correctly set the stack pointer.
    
    	* backend/SingleSteppingEngine.cs
    	(SSE.child_breakpoint): Set `main_retaddr' if we're the
    	`MainMethodBreakpoint'.
    
    svn path=/trunk/debugger/; revision=142584
Commits on Sep 23, 2009
  1. Always insert the 'MainMethodBreakpoint' and use it to set the stack …

    Martin Baulig authored
    …pointer.
    
    2009-09-24  Martin Baulig  <martin@ximian.com>
    
    	* classes/DebuggerSession.cs
    	(DebuggerSession.ctor): Always insert the `MainMethodBreakpoint';
    	we need it to correctly set the stack pointer.
    
    	* backend/SingleSteppingEngine.cs
    	(SSE.child_breakpoint): Set `main_retaddr' if we're the
    	`MainMethodBreakpoint'.
    
    svn path=/trunk/debugger/; revision=142530
Commits on Sep 22, 2009
  1. Add 'EE.EvaluationResult.NotInitialized'.

    Martin Baulig authored
    2009-09-23  Martin Baulig  <martin@ximian.com>
    
    	* classes/ExpressionEvaluator.cs
    	(EE.EvaluationResult): Add `NotInitialized'.
    
    	* classes/Thread.cs
    	(RuntimeInvokeResult): Add `TargetException'.
    
    	* backend/SingleSteppingEngine.cs
    	(OperationRuntimeInvoke): Set 'RuntimeInvokeResult.TargetException'
    	on error.
    
    svn path=/trunk/debugger/; revision=142443
  2. Add 'TargetStructType.IsClassInitialized'.

    Martin Baulig authored
    2009-09-22  Martin Baulig  <martin@ximian.com>
    
    	* languages/TargetStructType.cs
    	(TargetStructType.IsClassInitialized): New public property.
    
    svn path=/trunk/debugger/; revision=142419
  3. Fix #528160; trunk-only fix.

    Martin Baulig authored
    2009-09-22  Martin Baulig  <martin@ximian.com>
    
    	Fix #528160.
    
    	* backend/ThreadManager.cs
    	(ThreadManager.HasPendingSigstopForNewThread): New internal method.
    
    	* backend/Inferior.cs
    	(Inferior.InitializeThread): Call it here to see whether we
    	already received the SIGSTOP for the new thread.
    
    svn path=/trunk/debugger/; revision=142371
  4. Fix the MonoVS build.

    Martin Baulig authored
    2009-09-22  Martin Baulig  <martin@ximian.com>
    
    	* frontend/ScriptingContext.cs: Some more `TargetClassType' ->
    	`TargetStructType'.
    
    	* frontend/Expression.cs: Likewise.
    
    svn path=/trunk/debugger/; revision=142370
Commits on Sep 17, 2009
  1. Add my latest patches.

    Martin Baulig authored
    svn path=/trunk/debugger/; revision=142117
  2. Renamed 'TargetClassType' -> 'TargetStructType' and add empty 'Target…

    Martin Baulig authored
    …ClassType'; same for 'TargetClassObject'.
    
    2009-09-17  Martin Baulig  <martin@ximian.com>
    
    	* languages/TargetClassType.cs: Renamed `TargetClassType' into
    	`TargetStructType' and add a new empty `TargetClassType'.
    
    	* languages/TargetClassObject.cs: Renamed `TargetClassObject' into
    	`TargetStructObject' and add a new empty `TargetClassObject'.
    
    svn path=/trunk/debugger/; revision=142112
Commits on Sep 15, 2009
  1. Renamed 'MonoRuntime' -> 'MetadataHelper'.

    Martin Baulig authored
    2009-09-15  Martin Baulig  <martin@ximian.com>
    
    	* backend/mono/MonoRuntime.cs: Renamed into MetadataHelper.cs.
    	(MonoRuntime): Renamed into `MetadataHelper'.
    
    svn path=/trunk/debugger/; revision=141972
  2. Moved all the Mono Runtime code into a new directory backend/mono/.

    Martin Baulig authored
    2009-09-15  Martin Baulig  <martin@ximian.com>
    
    	* backend/mono/: Moved all the Mono Runtime code here.
    
    	* backend/MonoThreadManager.cs: Moved to backend/mono/.
    	* languages/mono/MonoLanguageBackend.cs: Likewise.
    	* languages/mono/MonoRuntime.cs: Likewise.
    
    svn path=/trunk/debugger/; revision=141971
Something went wrong with that request. Please try again.