Visual Studio 2008 Стоп Отладка Плавный Выход - PullRequest
2 голосов
/ 04 февраля 2009

Мы используем Visual Studio 2008 для разработки приложений на C #.

Мы запускаем три процесса, когда запускаются наши приложения, и закрываем запущенные процессы, когда закрываем наше приложение.

Но часто во время отладки мы склонны закрывать отладчик с помощью Shift-F5, который немедленно останавливает приложение. Поэтому нам нужно вручную закрыть процессы, запущенные с нашим приложением.

Каков наилучший способ закрыть приложение, чтобы у нас не было проблем с закрытием приложения во время остановки отладки.

Ответы [ 4 ]

2 голосов
/ 04 февраля 2009

Являются ли приложения, которые запускаются, вашими собственными приложениями? Если да, могут ли они определить, когда их родительский процесс умер, и в этом случае завершить свою работу?

0 голосов
/ 21 июня 2012

У меня была такая же проблема, поэтому я написал макрос для этого:

Sub StopDebugAndKillProcesses()
    Dim dbg As EnvDTE80.Debugger2 = DTE.Debugger
    dbg.Stop()
    Dim shell_string As String
    shell_string = "taskkill /F /IM TheProcessToKill.exe"
    Shell(shell_string)
End Sub

Назначьте его кнопке, поместите рядом с оригинальной кнопкой «Стоп» и все готово.

0 голосов
/ 06 февраля 2009

Используйте несколько процессов запуска , чтобы запустить все три процесса в отладчике. Затем, когда вы прекратите отладку, все три также будут убиты.

Поскольку, вероятно, теперь один из процессов запускает два других, вам, возможно, придется изменить его так, чтобы можно было отключить его для отладки (например, с помощью переключателя командной строки).

0 голосов
/ 04 февраля 2009

Как вы обычно выключаете процессы?

Если вы можете создать пакетный файл, отдельное приложение или даже скрипт AutoHotKey, который просто отключает процессы, тогда вы можете добавить к нему ярлык на панели инструментов VS (Инструменты-> Внешние инструменты).

Я знаю, что это неуклюже, чем делать это автоматически, но, вероятно, лучше, чем то, что вы должны сделать в данный момент: D

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...