Debugger3.Stop - метод (Boolean)
Обновлен: Ноябрь 2007
Прекращает отладку и завершает или отсоединяет все вложенные процессы.
Пространство имен: EnvDTE90
Сборка: EnvDTE90 (в EnvDTE90.dll)
Синтаксис
'Декларация
Sub Stop ( _
WaitForDesignMode As Boolean _
)
'Применение
Dim instance As Debugger3
Dim WaitForDesignMode As Boolean
instance.Stop(WaitForDesignMode)
void Stop(
bool WaitForDesignMode
)
void Stop(
[InAttribute] bool WaitForDesignMode
)
function Stop(
WaitForDesignMode : boolean
)
Параметры
- WaitForDesignMode
Тип: System.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
Разрешения
- Полное доверие для непосредственно вызывающего метода. Этот член не может быть использован частично доверенным кодом. Дополнительные сведения см. в разделе Использование библиотек из не вполне надежного кода.