Поделиться через


Debugger.Stop - метод

Обновлен: Ноябрь 2007

Прекращает отладку, завершение или отсоединение от всех прикрепленных процессов.

Пространство имен:  EnvDTE
Сборка:  EnvDTE (в EnvDTE.dll)

Синтаксис

'Декларация
Sub Stop ( _
    WaitForDesignMode As Boolean _
)
'Применение
Dim instance As Debugger
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 завершает отладку и прекращает присоединенный процесс. Дополнительные сведения см. в разделе Практическое руководство. Остановка отладки или выполнения.

Примеры

В следующем примере демонстрируется применение метода Stop.

Чтобы проверить этот метод:

  1. Задайте в целевом приложении точку останова.

  2. Запустите целевое приложение в режиме отладки.

  3. Когда выполнение приложения остановится в точке останова, запустите надстройку.

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
btsxc5kt.alert_note(ru-ru,VS.90).gifПримечание.

Макросы выполняются в основном потоке 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

Разрешения

См. также

Ссылки

Debugger Интерфейс

Debugger - члены

EnvDTE - пространство имен