Browse Source

Reset JMC after obtaining dynamic symbols update. Some extra log messages. (This still does not fix IronPython 4.0)

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@6042 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
pull/1/head
David Srbecký 15 years ago
parent
commit
0765d6db38
  1. 2
      src/AddIns/Debugger/Debugger.AddIn/Pads/LoadedModulesPad.cs
  2. 4
      src/AddIns/Debugger/Debugger.Core/Module.cs
  3. 7
      src/AddIns/Debugger/Debugger.Core/NDebugger.cs
  4. 2
      src/AddIns/Debugger/Debugger.Core/Process.cs

2
src/AddIns/Debugger/Debugger.AddIn/Pads/LoadedModulesPad.cs

@ -153,7 +153,7 @@ namespace ICSharpCode.SharpDevelop.Gui.Pads
new string[] { new string[] {
module.Filename, module.Filename,
String.Format("{0:X8}", module.BaseAdress), String.Format("{0:X8}", module.BaseAdress),
module.DirectoryName, module.FullPath,
module.OrderOfLoading.ToString(), module.OrderOfLoading.ToString(),
"", "",
"", "",

4
src/AddIns/Debugger/Debugger.Core/Module.cs

@ -202,6 +202,8 @@ namespace Debugger
symReader = metaData.GetSymReader(fullPath, string.Join("; ", searchPath ?? new string[0])); symReader = metaData.GetSymReader(fullPath, string.Join("; ", searchPath ?? new string[0]));
if (symReader != null) { if (symReader != null) {
OnSymbolsLoaded(new ModuleEventArgs(this)); OnSymbolsLoaded(new ModuleEventArgs(this));
ResetJustMyCodeStatus();
} }
} }
} }
@ -216,6 +218,8 @@ namespace Debugger
if (symReader != null) { if (symReader != null) {
OnSymbolsLoaded(new ModuleEventArgs(this)); OnSymbolsLoaded(new ModuleEventArgs(this));
} }
ResetJustMyCodeStatus();
} }
/// <summary> Sets all code as being 'my code'. The code will be gradually /// <summary> Sets all code as being 'my code'. The code will be gradually

7
src/AddIns/Debugger/Debugger.Core/NDebugger.cs

@ -111,6 +111,9 @@ namespace Debugger
} }
if (string.IsNullOrEmpty(debuggeeVersion)) { if (string.IsNullOrEmpty(debuggeeVersion)) {
debuggeeVersion = GetDebuggerVersion(); debuggeeVersion = GetDebuggerVersion();
TraceMessage("Debuggee version: Unknown (assuming " + debuggeeVersion + ")");
} else {
TraceMessage("Debuggee version: " + debuggeeVersion);
} }
this.debuggeeVersion = debuggeeVersion; this.debuggeeVersion = debuggeeVersion;
@ -118,8 +121,10 @@ namespace Debugger
// The CLR does not provide 4.0 debugger interface for older versions // The CLR does not provide 4.0 debugger interface for older versions
if (debuggeeVersion.StartsWith("v1") || debuggeeVersion.StartsWith("v2")) { if (debuggeeVersion.StartsWith("v1") || debuggeeVersion.StartsWith("v2")) {
debuggerVersion = 3; // 2.0 CLR debuggerVersion = 3; // 2.0 CLR
TraceMessage("Debugger interface version: v2.0");
} else { } else {
debuggerVersion = 4; // 4.0 CLR debuggerVersion = 4; // 4.0 CLR
TraceMessage("Debugger interface version: v4.0");
} }
corDebug = NativeMethods.CreateDebuggingInterfaceFromVersion(debuggerVersion, debuggeeVersion); corDebug = NativeMethods.CreateDebuggingInterfaceFromVersion(debuggerVersion, debuggeeVersion);
@ -131,7 +136,7 @@ namespace Debugger
corDebug.Initialize(); corDebug.Initialize();
corDebug.SetManagedHandler(managedCallbackProxy); corDebug.SetManagedHandler(managedCallbackProxy);
TraceMessage("ICorDebug initialized, debugee version " + debuggeeVersion); TraceMessage("ICorDebug initialized");
} }
internal void TerminateDebugger() internal void TerminateDebugger()

2
src/AddIns/Debugger/Debugger.Core/Process.cs

@ -114,7 +114,7 @@ namespace Debugger
static unsafe public Process CreateProcess(NDebugger debugger, string filename, string workingDirectory, string arguments) static unsafe public Process CreateProcess(NDebugger debugger, string filename, string workingDirectory, string arguments)
{ {
debugger.TraceMessage("Executing " + filename); debugger.TraceMessage("Executing " + filename + " " + arguments);
uint[] processStartupInfo = new uint[17]; uint[] processStartupInfo = new uint[17];
processStartupInfo[0] = sizeof(uint) * 17; processStartupInfo[0] = sizeof(uint) * 17;

Loading…
Cancel
Save