Debugger.Stop - метод
Прекращает отладку, завершение или отсоединение от всех прикрепленных процессов.
Пространство имен: EnvDTE
Сборка: EnvDTE (в EnvDTE.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 завершает отладку и прекращает присоединенный процесс. Дополнительные сведения см. в разделе Практическое руководство. Остановка отладки или выполнения.
Примеры
В следующем примере показано, как использовать метод Stop.
Тестирование данного метода:
Задайте в целевом приложении точку останова.
Запустите целевое приложение в режиме отладки.
Когда выполнение приложения остановится в точке останова, запустите надстройку.
public static void Stop(DTE dte)
{
EnvDTE.Debugger debugger = (EnvDTE.Debugger)dte.Debugger;
debugger.Stop(true);
}
Shared Sub Stop(ByRef dte As EnvDTE.DTE)
dte.Debugger. Stop(True)
End Sub
' WaitForDesignMode is true
Sub StopDebuggingAndNotifySync
DTE.Debugger.Stop(True)
MsgBox("Debugger has been stopped, for sure.")
End Sub
' WaitForDesignMode is false
Sub StopDebuggingAndNotifyAsync
DTE.Debugger.Stop(False)
' Depending on how long it takes to stop debugging,
' the environment may or may not yet be in Design mode.
If DTE.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
DTE.Debugger.Stop(False)
While DTE.Debugger.CurrentMode <> dbgDebugMode.dbgDesignMode
System.Threading.Thread.Sleep(50)
End While
MsgBox("Debugger has been stopped")
End Sub
Безопасность платформы .NET Framework
- Полное доверие для непосредственно вызывающего метода. Этот член не может быть использован частично доверенным кодом. Дополнительные сведения см. в разделе Использование библиотек из не вполне надежного кода.