Debugger3.Stop(Boolean) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Прекращает отладку и завершает или отсоединяет все вложенные процессы.
void Stop(bool WaitForDesignMode = true);
[System.Runtime.InteropServices.DispId(8)]
public void Stop (bool WaitForDesignMode = true);
[<System.Runtime.InteropServices.DispId(8)>]
abstract member Stop : bool -> unit
Public Sub Stop (Optional WaitForDesignMode As Boolean = true)
Параметры
- WaitForDesignMode
- Boolean
Значение true, если сеанс отладки должен останавливаться только при переходе в режим разработки. Значение false, если предполагается остановить отладку. Однако перед переходом отладчика в режим разработки необходимо выполнить другие задачи.
Реализации
- Атрибуты
Примеры
В следующем примере показано, как использовать метод Stop.
public static void Stop(EnvDTE80.DTE2 dte)
{
EnvDTE90.Debugger3 debugger = (EnvDTE90.Debugger3)dte.Debugger;
debugger.Stop(false);
}
' WaitForDesignMode is true.
Sub StopDebuggingAndNotifySync
DTE2.Debugger.Stop(True)
MsgBox("Debugger has been stopped, for sure.")
End Sub
' WaitForDesignMode is false.
Sub StopDebuggingAndNotifyAsync
DTE2.Debugger.Stop(False)
' Depending on how long it takes to stop debugging,
' you may or may not yet be in Design mode.
If DTE2.Debugger.CurrentMode <> dbgDebugMode.dbgDesignMode
MsgBox("Debugger still stopping")
Else
MsgBox("Debugger has been stopped")
End If
End Sub
Примечание
Макросы выполняются в основном потоке Visual Studio . Следующий код не работает и макрос просматривается неограниченно, так как интегрированная среда разработки не имеет возможности войти в режим конструктора. Вместо этого используйте отдельный механизм работы с потоками или пулами.
' Bad Code Example.
Sub StopDebuggingAndWaitForDesign
DTE2.Debugger.Stop(False)
While DTE2.Debugger.CurrentMode <> dbgDebugMode.dbgDesignMode
System.Threading.Thread.Sleep(50)
End While
MsgBox("Debugger has been stopped")
End Sub
Комментарии
Дополнительные сведения см. в разделе инструкции. завершение выполнения.