Permalink
Commits on Nov 5, 2009
  1. Don't crash if we can't load a symbol file for some reason.

    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=/branches/mono-2-4-2/debugger/; revision=145526
    Martin Baulig committed Nov 5, 2009
Commits on Oct 19, 2009
  1. bump version number

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

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

    …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
    Martin Baulig committed Oct 8, 2009
  2. Actually use 'BuildInfo.mono' to set 'MonoPath'.

    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
    Martin Baulig committed Oct 8, 2009
  3. Small fix.

    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
    Martin Baulig committed Oct 8, 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=/branches/mono-2-4-2/debugger/; revision=142533
    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=/branches/mono-2-4-2/debugger/; revision=142445
    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=/branches/mono-2-4-2/debugger/; revision=142417
    Martin Baulig committed Sep 22, 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=/branches/mono-2-4-2/debugger/; revision=141349
    Martin Baulig committed Sep 4, 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=/branches/mono-2-4-2/debugger/; revision=140196
    Martin Baulig committed Aug 18, 2009
  2. Add ChangeLog.

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

    … 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
    Martin Baulig committed Aug 18, 2009
Commits on Aug 6, 2009
  1. Small fix.

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

    svn path=/branches/mono-2-4-2/debugger/; revision=139489
    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=/branches/mono-2-4-2/debugger/; revision=139486
    Martin Baulig committed Aug 6, 2009
  4. **** Backport of 139478 ****

    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
    Martin Baulig committed Aug 6, 2009
  5. **** Backport of 139477 ****

    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
    Martin Baulig committed Aug 6, 2009
Commits on Aug 5, 2009
  1. Reflect latest API changes.

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

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

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

    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
    Martin Baulig committed Aug 5, 2009
  5. **** Backport of 139425 ****

    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
    Martin Baulig committed Aug 5, 2009
  6. **** Backport of 139424 ****

    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
    Martin Baulig committed Aug 5, 2009
  7. **** Backport of 139423 ****

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

    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
    Martin Baulig committed Aug 3, 2009
  2. **** Backport of 139301 ****

    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
    Martin Baulig committed Aug 3, 2009
Commits on Aug 2, 2009
  1. 2009-08-02 Martin Baulig <martin@ximian.com>

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

    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
    Martin Baulig committed Jul 2, 2009
  2. bump version to 2.4.2.1

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

    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
    Martin Baulig committed Jun 29, 2009
Commits on Jun 22, 2009
  1. Add some error checking.

    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
    Martin Baulig committed Jun 22, 2009
  2. Fix a regression introduced in r136640: reset the 'operation_complete…

    …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
    Martin Baulig committed Jun 22, 2009
Commits on Jun 17, 2009
  1. Improved error handling in the expression parser.

    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
    Martin Baulig committed Jun 17, 2009