Debugger2.Stop - метод (Boolean)
Прекращает отладку и завершает или отсоединяет все вложенные процессы.
Пространство имен: EnvDTE80
Сборка: EnvDTE80 (в EnvDTE80.dll)
Синтаксис
'Декларация
Sub Stop ( _
WaitForDesignMode As Boolean _
)
void Stop(
bool WaitForDesignMode
)
void Stop(
[InAttribute] bool WaitForDesignMode
)
abstract Stop :
WaitForDesignMode:bool -> unit
function Stop(
WaitForDesignMode : boolean
)
Параметры
- WaitForDesignMode
Тип: System.Boolean
Значение true, если сеанс отладки должен останавливаться только при переходе в режим разработки.Значение false, если планируется остановить отладку, но необходимо выполнить другие задачи в макросе, прежде чем отладчик перейдет в режим конструктора.
Заметки
Дополнительные сведения см. в разделе Практическое руководство. Остановка отладки или выполнения.
Примеры
В следующем примере показано, как использовать метод Stop.
Чтобы проверить этот метод.
Задайте в приложении точку останова.
Запустите приложение в режиме отладки.
Когда выполнение приложения остановится в точке останова, запустите надстройку.
public static void Stop(EnvDTE80.DTE2 dte)
{
EnvDTE80.Debugger2 debugger = (EnvDTE80.Debugger2)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
Безопасность платформы .NET Framework
- Полное доверие для непосредственно вызывающего метода. Этот член не может быть использован частично доверенным кодом. Дополнительные сведения см. в разделе Использование библиотек из не вполне надежного кода.