Browse Source

Fixed SD2-429: Cannot step into method when property passed as a parameter.

(implemented JMC - just my code)

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@424 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
David Srbecký 20 years ago
parent
commit
3f126022bd
  1. 1
      src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Debugger/Internal/ManagedCallback.cs
  2. 26
      src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Threads/Function.cs

1
src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Debugger/Internal/ManagedCallback.cs

@ -112,6 +112,7 @@ namespace DebuggerLibrary @@ -112,6 +112,7 @@ namespace DebuggerLibrary
EnterCallback("StepComplete (" + reason.ToString() + ")", pThread);
if (!callingThread.LastFunction.HasSymbols) {
// This should not happen with JMC enabled
debugger.TraceMessage(" - leaving code without symbols");
ExitCallback_Continue();

26
src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Threads/Function.cs

@ -157,34 +157,40 @@ namespace DebuggerLibrary @@ -157,34 +157,40 @@ namespace DebuggerLibrary
SourcecodeSegment nextSt;
nextSt = NextStatement;// Cache
nextSt = NextStatement;
if (nextSt == null) {
throw new DebuggerException("Unable to step. Next statement not aviable");
}
ICorDebugStepper stepper;
if (stepIn) {
corILFrame.CreateStepper(out stepper);
stepper.SetUnmappedStopMask(CorDebugUnmappedStop.STOP_NONE);
(stepper as ICorDebugStepper2).SetJMC(1 /* true */);
fixed (int* ranges = nextSt.StepRanges) {
stepper.StepRange(1 /* true - step in*/ , (IntPtr)ranges, (uint)nextSt.StepRanges.Length / 2);
}
debugger.CurrentThread.AddActiveStepper(stepper);
}
// Mind that step in which ends in code without symblols is cotinued
// so the next step out ensures that we atleast do step over
corILFrame.CreateStepper(out stepper);
stepper.SetUnmappedStopMask(CorDebugUnmappedStop.STOP_NONE);
(stepper as ICorDebugStepper2).SetJMC(1 /* true */);
fixed (int* ranges = nextSt.StepRanges) {
stepper.StepRange(0 /* false - step over*/ , (IntPtr)ranges, (uint)nextSt.StepRanges.Length / 2);
}
debugger.CurrentThread.AddActiveStepper(stepper);
debugger.Continue();
}

Loading…
Cancel
Save