Permalink
Commits on Sep 25, 2009
  1. version

    svn path=/branches/mono-2-6/debugger/; revision=142639
    Andrew Jorgensen committed Sep 25, 2009
Commits on Sep 24, 2009
  1. Always insert the 'MainMethodBreakpoint' and use it to set the stack …

    …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
    Martin Baulig committed Sep 24, 2009
Commits on Sep 23, 2009
  1. Always insert the 'MainMethodBreakpoint' and use it to set the stack …

    …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
    Martin Baulig committed Sep 23, 2009
Commits on Sep 22, 2009
  1. Add 'EE.EvaluationResult.NotInitialized'.

    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
    Martin Baulig committed Sep 22, 2009
  2. Add 'TargetStructType.IsClassInitialized'.

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

    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
    Martin Baulig committed Sep 22, 2009
  4. Fix the MonoVS build.

    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
    Martin Baulig committed Sep 22, 2009
Commits on Sep 17, 2009
  1. Add my latest patches.

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

    …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
    Martin Baulig committed Sep 17, 2009
Commits on Sep 15, 2009
  1. Renamed 'MonoRuntime' -> 'MetadataHelper'.

    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
    Martin Baulig committed Sep 15, 2009
  2. Moved all the Mono Runtime code into a new directory backend/mono/.

    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
    Martin Baulig committed Sep 15, 2009
  3. Merge branch 'martin-class-type'

    svn path=/trunk/debugger/; revision=141967
    Martin Baulig committed Sep 15, 2009
Commits on Sep 8, 2009
  1. Fix date.

    svn path=/trunk/debugger/; revision=141526
    joncham committed Sep 8, 2009
  2. 2009-10-08 Jonathan Chambers <joncham@gmail.com>

            * backend/server/i386-arch.h: Define register access for CONTEXT on Windows.
    
            * backend/server/server.h: Add SERVER_TYPE_WIN32.
    
            * backend/server/x86-windows.c: Merge of work from Unity.
    
            Unity is releasing all the sourcecode that Friedrich Dominicus has
            done on the mono debugger, as part of a contracting agreement with
            Unity, under the MIT-X11 license.
    
            Joachim Ante, CTO Unity
    
    
    svn path=/trunk/debugger/; revision=141519
    joncham committed Sep 8, 2009
Commits on Sep 4, 2009
  1. Fix #485446.

    2009-09-04  Martin Baulig  <martin@ximian.com>
    
    	Fix #485446.
    
    	* languages/TargetArrayType.cs
    	(TargetArrayType.GetElementSize): New internal virtual method.
    
    	* languages/mono/MonoArrayType.cs
    	(TargetArrayType.GetElementSize): Override and read the instance
    	size from the `MonoClass *' for valuetypes.
    
    	* languages/mono/MonoClassInfo.cs
    	(MonoClassInfo.GetInstanceSize): New internal method.
    
    	* languages/mono/MonoRuntime.cs
    	(MonoRuntime.MonoClassGetInstanceSize): New public method; read
    	the instance size from the `MonoClass *' for valuetypes.
    
    	* test/{src|testsuite}/TestManagedTypes.cs: Add test case.
    
    svn path=/trunk/debugger/; revision=141352
    Martin Baulig committed Sep 4, 2009
Commits on Aug 27, 2009
  1. 2009-09-26 Jonathan Chambers <joncham@gmail.com>

    	* build/mdb.csproj: Add ExpressionParser.cs.
    
    	* build/Mono.Debugger.Frontend.csproj: Add ExpressionParser.cs.
    	
    	Contributed under MIT/X11 license.
    
    svn path=/trunk/debugger/; revision=140761
    joncham committed Aug 27, 2009
Commits on Aug 26, 2009
  1. fix dist and bump version

    svn path=/trunk/debugger/; revision=140748
    Andrew Jorgensen committed Aug 26, 2009
Commits on Aug 18, 2009
  1. Fix #531062; correctly handle methods in compiler-generated files.

    2009-08-18  Martin Baulig  <martin@ximian.com>
    
    	Fix #531062; correctly handle methods in compiler-generated files.
    
    	* languages/mono/MonoSymbolFile.cs
    	(MonoSymbolFile.GetMethods): Use the compilation unit from the
    	symbol file as the method's source file.
    
    	* classes/SourceInfo.cs
    	(SourceFile.GetMethod): Check whether the method is in the correct
    	source file.
    
    svn path=/trunk/debugger/; revision=140194
    Martin Baulig committed Aug 18, 2009
Commits on Aug 17, 2009
  1. Make attaching work with mac debugger

    svn path=/trunk/debugger/; revision=140050
    jonas committed Aug 17, 2009
  2. Make mac debugger work with ThreadModel.Process

    svn path=/trunk/debugger/; revision=140044
    jonas committed Aug 17, 2009
Commits on Aug 12, 2009
  1. Add documentation about the new breakpoint API.

    2009-08-12  Martin Baulig  <martin@ximian.com>
    
    	* doc/README.breakpoints: Add documentation about the new
    	breakpoint API.
    
    svn path=/trunk/debugger/; revision=139769
    Martin Baulig committed Aug 12, 2009
Commits on Aug 6, 2009
  1. Small fix.

    svn path=/trunk/debugger/; revision=139494
    Martin Baulig committed Aug 6, 2009
  2. Small fix.

    svn path=/trunk/debugger/; revision=139488
    Martin Baulig committed Aug 6, 2009
  3. Add DebuggerSession.ActivateEventAsync() and DebuggerSession.Deactiva…

    …teEventAsync().
    
    2009-08-06  Martin Baulig  <martin@ximian.com>
    
    	* classes/DebuggerSession.cs
    	(DebuggerSession.ActivateEventAsync): New public method.
    	(DebuggerSession.DeactivateEventAsync): New public method.
    
    svn path=/trunk/debugger/; revision=139485
    Martin Baulig committed Aug 6, 2009
  4. Don't require the target to be stopped to detach; allow detaching fro…

    …m any target on Linux.
    
    2009-08-06  Martin Baulig  <martin@ximian.com>
    
    	Don't require the target to be stopped to detach; allow detaching
    	from any target on Linux.
    
    	* backend/server/server.h
    	(ServerCapabilities): Add `SERVER_CAPABILITIES_CAN_DETACH_ANY'.
    
    	* backend/server/x86-linux-ptrace.c
    	(server_ptrace_get_capabilities):  ... and add it here.
    
    	* backend/Inferior.cs
    	(Inferior.CanDetachAny): New public static property.
    
    	* backend/ProcessServant.cs
    	(ProcessServant.CanDetach): New property.
    	(ProcessServant.Detach): Can `CanDetach', not `IsAttach'.
    
    	* backend/SingleSteppingEngine.cs
    	(SSE.Detach): Don't require the target to be stopped.
    
    	* classes/Debugger.cs
    	(Debugger.CanDetach): New public property.
    
    svn path=/trunk/debugger/; revision=139478
    Martin Baulig committed Aug 6, 2009
  5. Add "redirect-output" to the "config" command; this was missing.

    2009-08-06  Martin Baulig  <martin@ximian.com>
    
    	* frontend/Command.cs:
    	(ConfigCommand): Add "redirect-output" here, this was missing.
    
    svn path=/trunk/debugger/; revision=139477
    Martin Baulig committed Aug 6, 2009
Commits on Aug 5, 2009
  1. Oooops, don't stack-overflow.

    svn path=/trunk/debugger/; revision=139446
    Martin Baulig committed Aug 5, 2009
  2. Managed Callback optimizations ....

    2009-08-05  Martin Baulig  <martin@ximian.com>
    
    	* backend/SingleSteppingEngine.cs
    	(SSE.ManagedCallback): If we found a managed frame, check whether
    	we can do all the work immediately or whether we need to start an
    	operation for it.
    
    svn path=/trunk/debugger/; revision=139427
    Martin Baulig committed Aug 5, 2009
  3. Support removing breakpoints while the target is running.

    2009-08-05  Martin Baulig  <martin@ximian.com>
    
    	Support removing breakpoints while the target is running.
    
    	* backend/ProcessServant.cs
    	(ProcessServant.ExceptionCatchPoints): Removed; the session now
    	maintains exception catchpoints.
    
    	* backend/SingleSteppingEngine.cs
    	(SSE.ActivatePendingBreakpoints): We now also handle removals.
    	(SSE.OperationRemoveBreakpoint): New operation to remove a managed
    	breakpoint.
    
    	* classes/Breakpoint.cs
    	(Breakpoint.NeedsActivation): New public property; event handlers
    	don't need any activation.
    
    	* classes/DebuggerSession.cs
    	(DebuggerSession.InsertExceptionCatchPoint): Exception catchpoints
    	don't need to be activated.
    	(DebuggerSession.ExceptionCatchPoints): The session now maintains
    	all exception catchpoints; moved here from `ProcessServant'.
    	(DebuggerSession.RemoveBreakpoint): Immediately remove the
    	breakpoint from our list, but don't actually delete it - the
    	target doesn't need to be stopped to call this method, the method
    	is queued for removal during Process.ActivatePendingBreakpoints().
    
    	* classes/Process.cs
    	(Process.ActivatePendingBreakpoints): Don't block, return a
    	`CommandResult' you can wait on.
    
    svn path=/trunk/debugger/; revision=139425
    Martin Baulig committed Aug 5, 2009
  4. There seems to be a really weird race condition in the kernel which d…

    …oesn't always flush the cpu's insn cache ...
    
    2009-08-05  Martin Baulig  <martin@ximian.com>
    
    	* backend/server/x86_64-arch.c
    	(find_code_buffer_slot): Return a different slot each time we're
    	called until we iterated over the entire buffer; it looks like
    	there's a very weird race condition somewhere in the kernel which
    	doesn't always flush the cpu's instruction cache when modifying
    	the current instruction and then immediately executing it.
    	(x86_arch_child_stopped): Return `STOP_ACTION_INTERNAL_ERROR' if
    	we stopped at an unexpected location inside the code buffer.
    
    	* backend/server/i386-arch.c
    	(find_code_buffer_slot): No idea whether we need this here as
    	well, but it doesn't hurt doing it here as well.
    
    	* backend/server/x86-arch.h
    	(ChildStoppedAction): Added `STOP_ACTION_INTERNAL_ERROR'.
    
    	* backend/Inferior.cs
    	(Inferior.ChildEventType): Added `INTERNAL_ERROR'.
    
    svn path=/trunk/debugger/; revision=139424
    Martin Baulig committed Aug 5, 2009
  5. Add error checks to enforce managed context for func-eval.

    2009-08-05  Martin Baulig  <martin@ximian.com>
    
    	Add error checks to enforce managed context for func-eval.
    
    	NOTE: This patch intentionally ``breaks'' breakpoints in
    	MonoDevelop; func-eval cannot be allowed when stopped at random
    	locations in unmanaged code, the result would be completely
    	unpredictable.
    
    	It looks like there were some misunderstandings about the
    	debugger's breakpoint API:
    
    	-> DebuggerSession.AddEvent() adds an event / breakpoint to the
    	session, but does not activate it.
    
    	-> Event.Activate() activates the event / breakpoint and requires
    	you to be stopped *in managed code* (the only exception is address
    	breakpoints which work everywhere).
    
    	-> Process.ActivatePendingBreakpoints() is the correct API to
    	activate breakpoints while the target is running.  This is an
    	expensive operation, so if you have multiple breakpoints, you
    	should DebuggerSession.AddEvent() them all then then call
    	Process.ActivatePendingBreakpoints() only once when done.
    
    	* classes/TargetException.cs
    	(TargetError): Added `InvalidContext'.
    
    	* backend/SingleSteppingEngine.cs
    	(SSE): Add enforce_managed_context() calls to all CallMethod()
    	overloads and to RuntimeInvoke().
    
    svn path=/trunk/debugger/; revision=139423
    Martin Baulig committed Aug 5, 2009
  6. We don't need this anymore.

    svn path=/trunk/debugger/; revision=139422
    Martin Baulig committed Aug 5, 2009
Commits on Aug 4, 2009
  1. ExpressionParser API changes to make it extensible.

    2009-08-04  Martin Baulig  <martin@ximian.com>
    
    	* frontend/ExpressionParser.cs
    	(ExpressionParser): Rename `MyExpression' -> `Expression' and make
    	it public; rename `MyExpressionWrapper' -> `ExpressionWrapper' and
    	make it public; rename `MyAsycResult' -> `AsyncResult' and make it
    	public.
    
    svn path=/trunk/debugger/; revision=139332
    Martin Baulig committed Aug 4, 2009
Commits on Aug 3, 2009
  1. Improved expression evaluation API.

    2009-08-04  Martin Baulig  <martin@ximian.com>
    
    	* frontend/ExpressionParser.cs: New file.
    	(ExpressionParser): Moved here from Expression.cs.
    	(ExpressionParser.GetVariableAccessExpression): Added.
    	(ExpressionParser.GetMemberAccessExpression): Added.
    
    	* frontend/Expression.cs
    	(StructAccessExpression): Made the .ctor public.
    
    	* classes/ExpressionEvaluator.cs
    	(EE.IExpression): Renamed `EvaluateAsync' -> `Evaluate'.
    	(EE.IExpression): Added `Assign'.
    
    svn path=/trunk/debugger/; revision=139302
    Martin Baulig committed Aug 3, 2009
  2. 2009-08-04 Martin Baulig <martin@ximian.com>

    	* backend/SingleSteppingEngine.cs
    	(SSE.OperationRuntimeInvokeHelper): Improve error handling.
    
    svn path=/trunk/debugger/; revision=139301
    Martin Baulig committed Aug 3, 2009