diff options
author | Artem Bukhonov <Artem.Bukhonov@jetbrains.com> | 2017-01-17 20:29:01 +0300 |
---|---|---|
committer | Artem Bukhonov <Artem.Bukhonov@jetbrains.com> | 2017-01-17 20:29:01 +0300 |
commit | a4685e25947276a7c60d76e4c362a22efc82bb96 (patch) | |
tree | 5b192dcf38722f96849df9382a26d78a1b222b82 /main/src/addins/MonoDevelop.Debugger.Win32 | |
parent | 4093f13ecf3a11dd944787a28036501d8b3e82fa (diff) |
[CorDebug] Proper deactivation of breakpoints
Diffstat (limited to 'main/src/addins/MonoDevelop.Debugger.Win32')
-rw-r--r-- | main/src/addins/MonoDevelop.Debugger.Win32/Mono.Debugging.Win32/CorDebuggerSession.cs | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/main/src/addins/MonoDevelop.Debugger.Win32/Mono.Debugging.Win32/CorDebuggerSession.cs b/main/src/addins/MonoDevelop.Debugger.Win32/Mono.Debugging.Win32/CorDebuggerSession.cs index 349aaf4845..d75a1aa23d 100644 --- a/main/src/addins/MonoDevelop.Debugger.Win32/Mono.Debugging.Win32/CorDebuggerSession.cs +++ b/main/src/addins/MonoDevelop.Debugger.Win32/Mono.Debugging.Win32/CorDebuggerSession.cs @@ -155,10 +155,23 @@ namespace Mono.Debugging.Win32 helperOperationsQueue.Add (action);
}
+ void DeactivateBreakpoints ()
+ {
+ var breakpointsCopy = breakpoints.Keys.ToList ();
+ foreach (var corBreakpoint in breakpointsCopy) {
+ try {
+ corBreakpoint.Activate (false);
+ }
+ catch (Exception e) {
+ DebuggerLoggingService.LogMessage ("Exception in DeactivateBreakpoints(): {0}", e);
+ }
+ }
+ }
+
void TerminateDebugger ()
{
helperOperationsCancellationTokenSource.Cancel();
- Breakpoints.Clear ();
+ DeactivateBreakpoints ();
lock (terminateLock) {
if (terminated)
return;
|