Permalink
Commits on Oct 19, 2009
  1. bump version number

    Andrew Jorgensen committed Oct 19, 2009
    svn path=/branches/mono-2-4-2/debugger/; revision=144407
Commits on Oct 13, 2009
  1. Fix bug #544935, support recursive invocations of mono_generic_trampo…

    Martin Baulig committed Oct 13, 2009
    …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=/branches/mono-2-4-2/debugger/; revision=144063
Commits on Oct 8, 2009
  1. Use full pathname to invoke mono in the 'mdb' script; don't set MONO_…

    Martin Baulig committed Oct 8, 2009
    …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=/branches/mono-2-4-2/debugger/; revision=143784
  2. Actually use 'BuildInfo.mono' to set 'MonoPath'.

    Martin Baulig committed Oct 8, 2009
    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=/branches/mono-2-4-2/debugger/; revision=143783
  3. Small fix.

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

    Martin Baulig committed Sep 23, 2009
    …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=/branches/mono-2-4-2/debugger/; revision=142533
Commits on Sep 22, 2009
  1. Add 'EE.EvaluationResult.NotInitialized'.

    Martin Baulig committed Sep 22, 2009
    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=/branches/mono-2-4-2/debugger/; revision=142445
  2. Add 'TargetStructType.IsClassInitialized'.

    Martin Baulig committed Sep 22, 2009
    2009-09-22  Martin Baulig  <martin@ximian.com>
    
    	* languages/TargetStructType.cs
    	(TargetStructType.IsClassInitialized): New public property.
    
    svn path=/branches/mono-2-4-2/debugger/; revision=142417
Commits on Sep 4, 2009
  1. Fix #485446.

    Martin Baulig committed Sep 4, 2009
    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=/branches/mono-2-4-2/debugger/; revision=141349
Commits on Aug 18, 2009
  1. Fix #531062; correctly handle methods in compiler-generated files.

    Martin Baulig committed Aug 18, 2009
    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=/branches/mono-2-4-2/debugger/; revision=140196
  2. Add ChangeLog.

    Martin Baulig committed Aug 18, 2009
    svn path=/branches/mono-2-4-2/debugger/; revision=140193
  3. Fix #530596 for MonoVS; this is a 2.4 / 2.4.2 only patch; don't merge…

    Martin Baulig committed Aug 18, 2009
    … this into trunk.
    
    2009-08-18  Martin Baulig  <martin@ximian.com>
    
    	Fix #530596 for MonoVS; this is a 2.4 / 2.4.2 only patch; don't
    	merge this into trunk.
    
    	* backend/SingleSteppingEngine.cs
    	(SSE.OperationActivateBreakpoints): Don't send a target event when
    	we're done; fixes #530596.
    
    svn path=/branches/mono-2-4-2/debugger/; revision=140186
Commits on Aug 6, 2009
  1. Small fix.

    Martin Baulig committed Aug 6, 2009
    svn path=/branches/mono-2-4-2/debugger/; revision=139493
  2. Small fix.

    Martin Baulig committed Aug 6, 2009
    svn path=/branches/mono-2-4-2/debugger/; revision=139489
  3. Add DebuggerSession.ActivateEventAsync() and DebuggerSession.Deactiva…

    Martin Baulig committed Aug 6, 2009
    …teEventAsync().
    
    2009-08-06  Martin Baulig  <martin@ximian.com>
    
    	* classes/DebuggerSession.cs
    	(DebuggerSession.ActivateEventAsync): New public method.
    	(DebuggerSession.DeactivateEventAsync): New public method.
    
    svn path=/branches/mono-2-4-2/debugger/; revision=139486
  4. **** Backport of 139478 ****

    Martin Baulig committed Aug 6, 2009
    2009-08-06  Martin Baulig  <martin@ximian.com>
    
    	**** Backport of 139478 ****
    
    	Don't require the target to be stopped to detach.
    
    	* 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=/branches/mono-2-4-2/debugger/; revision=139480
  5. **** Backport of 139477 ****

    Martin Baulig committed Aug 6, 2009
    2009-08-06  Martin Baulig  <martin@ximian.com>
    
    	**** Backport of 139477 ****
    
    	* frontend/Command.cs:
    	(ConfigCommand): Add "redirect-output" here, this was missing.
    
    svn path=/branches/mono-2-4-2/debugger/; revision=139479
Commits on Aug 5, 2009
  1. Reflect latest API changes.

    Martin Baulig committed Aug 5, 2009
    svn path=/branches/mono-2-4-2/debugger/; revision=139452
  2. Small fix.

    Martin Baulig committed Aug 5, 2009
    svn path=/branches/mono-2-4-2/debugger/; revision=139450
  3. Oooops, don't stack-overflow.

    Martin Baulig committed Aug 5, 2009
    svn path=/branches/mono-2-4-2/debugger/; revision=139448
  4. **** Backport of 139427 ****

    Martin Baulig committed Aug 5, 2009
    2009-08-05  Martin Baulig  <martin@ximian.com>
    
    	**** Backport of 139427 ****
    
    	* 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=/branches/mono-2-4-2/debugger/; revision=139442
  5. **** Backport of 139425 ****

    Martin Baulig committed Aug 5, 2009
    2009-08-05  Martin Baulig  <martin@ximian.com>
    
    	**** Backport of 139425 ****
    
    	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=/branches/mono-2-4-2/debugger/; revision=139440
  6. **** Backport of 139424 ****

    Martin Baulig committed Aug 5, 2009
    2009-08-05  Martin Baulig  <martin@ximian.com>
    
    	**** Backport of 139424 ****
    
    	* 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/server/server.h
    	(ServerStatusMessageType): Added `MESSAGE_INTERNAL_ERROR'.
    
    	* backend/Inferior.cs
    	(Inferior.ChildEventType): Added `INTERNAL_ERROR'.
    
    svn path=/branches/mono-2-4-2/debugger/; revision=139432
  7. **** Backport of 139423 ****

    Martin Baulig committed Aug 5, 2009
    2009-08-05  Martin Baulig  <martin@ximian.com>
    
    	**** Backport of 139423 ****
    
    	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=/branches/mono-2-4-2/debugger/; revision=139431
Commits on Aug 4, 2009
  1. ExpressionParser API changes to make it extensible.

    Martin Baulig committed Aug 4, 2009
    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=/branches/mono-2-4-2/debugger/; revision=139334
Commits on Aug 3, 2009
  1. **** Backport of 139302 ****

    Martin Baulig committed Aug 3, 2009
    2009-08-04  Martin Baulig  <martin@ximian.com>
    
    	**** Backport of 139302 ****
    
    	* 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=/branches/mono-2-4-2/debugger/; revision=139306
  2. **** Backport of 139301 ****

    Martin Baulig committed Aug 3, 2009
    2009-08-04  Martin Baulig  <martin@ximian.com>
    
    	**** Backport of 139301 ****
    
    	* backend/SingleSteppingEngine.cs
    	(SSE.OperationRuntimeInvokeHelper): Improve error handling.
    
    svn path=/branches/mono-2-4-2/debugger/; revision=139305
Commits on Aug 2, 2009
  1. 2009-08-02 Martin Baulig <martin@ximian.com>

    Martin Baulig committed Aug 2, 2009
    	* MonoSymbolTable.cs
    	(LineNumberTable.GetMethodBounds): Correctly compute start
    	and end lines.
    
    svn path=/branches/mono-2-4-2/debugger/; revision=139258
Commits on Jul 2, 2009
  1. **** Backport of 137172 ****

    Martin Baulig committed Jul 2, 2009
    2009-07-01  Martin Baulig  <martin@ximian.com>
    
    	**** Backport of 137172 ****
    
    	* languages/mono/MonoRuntime.cs
    	(MonoRuntime.GetGenericParameter): Check whether the name field is
    	non-null and use `!0' etc. otherwise.
    
    svn path=/branches/mono-2-4-2/debugger/; revision=137312
  2. bump version to 2.4.2.1

    Andrew Jorgensen committed Jul 2, 2009
    svn path=/branches/mono-2-4-2/debugger/; revision=137309
Commits on Jun 29, 2009
  1. Don't throw an exception if the class doesn't have any fields.

    Martin Baulig committed Jun 29, 2009
    2009-06-29  Martin Baulig  <martin@ximian.com>
    
    	* languages/mono/MonoClassInfo.cs
    	(MonoClassInfo.GetFields): Don't throw an exception if the class
    	doesn't have any fields.
    
    svn path=/branches/mono-2-4-2/debugger/; revision=137124
Commits on Jun 22, 2009
  1. Add some error checking.

    Martin Baulig committed Jun 22, 2009
    2009-06-22  Martin Baulig  <martin@ximian.com>
    
    	* languages/mono/MonoClassInfo.cs
    	(MonoClassInfo.GetFields): Check whether the class is already
    	initialized and throw an exception on error.
    
    svn path=/branches/mono-2-4-2/debugger/; revision=136632
  2. Fix a regression introduced in r136640: reset the 'operation_complete…

    Martin Baulig committed Jun 22, 2009
    …d_event' when starting a new operation.
    
    2009-06-20  Martin Baulig  <martin@ximian.com>
    
    	* backend/SingleSteppingEngine.cs
    	(SSE.StartOperation): Fix a regression introduced in r135640:
    	reset `operation_completed_event' when starting a new operation.
    
    svn path=/branches/mono-2-4-2/debugger/; revision=136621
Commits on Jun 17, 2009
  1. Improved error handling in the expression parser.

    Martin Baulig committed Jun 17, 2009
    2009-06-16  Martin Baulig  <martin@ximian.com>
    
    	* classes/ExpressionEvaluator.cs
    	(ExpressionParsingException): Removed 'ErrorOutput'.
    
    	* frontend/CSharpTokenizer.cs
    	(SyntaxError): Removed.
    	(Tokenizer): Throw a 'yyParser.yyException' instead of returning
    	'Token.ERROR'; killed 'Error'.
    
    	* frontend/jay/skeleton.cs: Killed 'ErrorOutput', yyerror() now
    	throws a 'yyParser.yyException'.
    
    	* frontend/CSharpExpressionParser.jay: Improved error handling.
    
    	* frontend/skeleton: Removed.
    	* frontend/jay/skeleton: Removed.
    
    svn path=/branches/mono-2-4-2/debugger/; revision=136276
Commits on Jun 15, 2009
  1. In GUIManager.EvaluationDone(): Invoke the callback directly, before …

    Martin Baulig committed Jun 15, 2009
    …signalling the AsyncResult.
    
    2009-06-15  Martin Baulig  <martin@ximian.com>
    
    	* classes/GUIManager.cs
    	(GUIManager.EvaluationDone): Invoke the callback directly, don't
    	queue it as an event - it must be called before signalling the
    	AsyncResult.
    
    svn path=/branches/mono-2-4-2/debugger/; revision=136161