Browse Source

Fixed bug that prevented stepping through anonymous methods.

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@446 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
David Srbecký 20 years ago
parent
commit
114a1c1dad
  1. 31
      src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Pads/CallStackPad.cs
  2. 6
      src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Threads/Function.cs

31
src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Pads/CallStackPad.cs

@ -208,21 +208,30 @@ namespace ICSharpCode.SharpDevelop.Gui.Pads @@ -208,21 +208,30 @@ namespace ICSharpCode.SharpDevelop.Gui.Pads
if (showArgumentNames || showArgumentValues) {
name += "(";
for (int i = 0; i < f.ArgumentCount; i++) {
string parameterName = null;
string argValue = null;
if (showArgumentNames) {
name += f.GetParameterName(i);
try {
parameterName = f.GetParameterName(i);
} catch { }
if (parameterName == "") parameterName = null;
}
if (showArgumentValues) {
try {
string argValue = f.GetArgumentVariable(i).Value.ToString();
if (showArgumentNames) {
name += "=";
}
name += argValue;
} catch {
if (!showArgumentNames) {
name += "n/a";
}
}
argValue = f.GetArgumentVariable(i).Value.ToString();
} catch { }
}
if (parameterName != null && argValue != null) {
name += parameterName + "=" + argValue;
}
if (parameterName != null && argValue == null) {
name += parameterName;
}
if (parameterName == null && argValue != null) {
name += argValue;
}
if (parameterName == null && argValue == null) {
name += "n/a";
}
if (i < f.ArgumentCount - 1) {
name += ", ";

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

@ -373,7 +373,11 @@ namespace DebuggerLibrary @@ -373,7 +373,11 @@ namespace DebuggerLibrary
public string GetParameterName(int index)
{
// index = 0 is return parameter
return module.MetaData.GetParamForMethodIndex(methodProps.Token, (uint)index + 1).Name;
try {
return module.MetaData.GetParamForMethodIndex(methodProps.Token, (uint)index + 1).Name;
} catch {
return String.Empty;
}
}
public int ArgumentCount {

Loading…
Cancel
Save