|
|
|
@ -140,8 +140,8 @@ namespace ICSharpCode.SharpDevelop.Services
@@ -140,8 +140,8 @@ namespace ICSharpCode.SharpDevelop.Services
|
|
|
|
|
string version = debugger.GetProgramVersion(processStartInfo.FileName); |
|
|
|
|
if (version.StartsWith("v1.0")) { |
|
|
|
|
MessageService.ShowMessage("${res:XML.MainMenu.DebugMenu.Error.Net10NotSupported}"); |
|
|
|
|
//} else if (string.IsNullOrEmpty(version)) {
|
|
|
|
|
// MessageService.ShowMessage("${res:XML.MainMenu.DebugMenu.Error.BadAssembly}");
|
|
|
|
|
//} else if (string.IsNullOrEmpty(version)) {
|
|
|
|
|
// MessageService.ShowMessage("${res:XML.MainMenu.DebugMenu.Error.BadAssembly}");
|
|
|
|
|
} else { |
|
|
|
|
if (DebugStarting != null) |
|
|
|
|
DebugStarting(this, EventArgs.Empty); |
|
|
|
@ -364,25 +364,40 @@ namespace ICSharpCode.SharpDevelop.Services
@@ -364,25 +364,40 @@ namespace ICSharpCode.SharpDevelop.Services
|
|
|
|
|
SourcecodeSegment seg = new SourcecodeSegment(bookmark.FileName, bookmark.LineNumber + 1); |
|
|
|
|
Breakpoint breakpoint = debugger.AddBreakpoint(seg, bookmark.IsEnabled); |
|
|
|
|
MethodInvoker setBookmarkColor = delegate { |
|
|
|
|
bookmark.WillBeHit = breakpoint.HadBeenSet || debugger.Processes.Count == 0; |
|
|
|
|
bookmark.WillBeHit = breakpoint.HadBeenSet || debugger.Processes.Count == 0; |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
// event handlers on bookmark and breakpoint don't need deregistration
|
|
|
|
|
bookmark.IsEnabledChanged += delegate { |
|
|
|
|
breakpoint.Enabled = bookmark.IsEnabled; |
|
|
|
|
}; |
|
|
|
|
breakpoint.Changed += delegate { setBookmarkColor(); }; |
|
|
|
|
debugger.ProcessStarted += delegate { |
|
|
|
|
|
|
|
|
|
setBookmarkColor(); |
|
|
|
|
|
|
|
|
|
EventHandler<ProcessEventArgs> bp_debugger_ProcessStarted = (sender, e) => { |
|
|
|
|
setBookmarkColor(); |
|
|
|
|
// User can change line number by inserting or deleting lines
|
|
|
|
|
breakpoint.SourcecodeSegment.StartLine = bookmark.LineNumber + 1; |
|
|
|
|
}; |
|
|
|
|
debugger.ProcessExited += delegate { setBookmarkColor(); }; |
|
|
|
|
setBookmarkColor(); |
|
|
|
|
|
|
|
|
|
BM.BookmarkManager.Removed += delegate (object sender, BM.BookmarkEventArgs e) { |
|
|
|
|
EventHandler<ProcessEventArgs> bp_debugger_ProcessExited = (sender, e) => { |
|
|
|
|
setBookmarkColor(); |
|
|
|
|
}; |
|
|
|
|
BM.BookmarkEventHandler bp_bookmarkManager_Removed = null; |
|
|
|
|
bp_bookmarkManager_Removed = (sender, e) => { |
|
|
|
|
if (bookmark == e.Bookmark) { |
|
|
|
|
debugger.RemoveBreakpoint(breakpoint); |
|
|
|
|
|
|
|
|
|
// unregister the events
|
|
|
|
|
debugger.ProcessStarted -= bp_debugger_ProcessStarted; |
|
|
|
|
debugger.ProcessExited -= bp_debugger_ProcessExited; |
|
|
|
|
BM.BookmarkManager.Removed -= bp_bookmarkManager_Removed; |
|
|
|
|
} |
|
|
|
|
}; |
|
|
|
|
bookmark.IsEnabledChanged += delegate { |
|
|
|
|
breakpoint.Enabled = bookmark.IsEnabled; |
|
|
|
|
}; |
|
|
|
|
// register the events
|
|
|
|
|
debugger.ProcessStarted += bp_debugger_ProcessStarted; |
|
|
|
|
debugger.ProcessExited += bp_debugger_ProcessExited; |
|
|
|
|
BM.BookmarkManager.Removed += bp_bookmarkManager_Removed; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void LogMessage(object sender, MessageEventArgs e) |
|
|
|
|