2016-04-29 2 views
1

У меня следующий вопрос: Предположим, что у вас есть исполняемый файл (program.exe), который вы позволить начать с cmd.exe. Итак, у нас естьПрисоединение WinDbg к процессу

C:> start program.exe 

Можно ли подключить WinDbg к запущенному процессу program.exe? И если да, как я могу это достичь? Является ли это возможным ? Примечание: Когда я запускаю программу.exe, открывается другое окно командной строки. & закрывается очень быстро. Может ли WinDbg поймать его? Я пытался поймать его с помощью Immunity Debugger, но никаких шансов.

+2

Почему бы не просто запустить 'program.exe' из WinDbg? –

+1

cmd/k windbg program.exe – blabb

+0

Должен ли я записать эту команду в пакетный файл? – user3097712

ответ

3

Обычно вы можете подключиться к процессу в WinDbg с помощью F6 или использовать переключатель командной строки -pn. Если процесс завершается слишком быстро, существует несколько вариантов:

  1. Запустите программу под отладчиком. Используйте Ctrl + E и введите имя, аргументы и каталог запуска программы. С другой стороны, указать исполняемый файл и параметры, как последние аргументы WinDbg:

    исполняемым

    Определяет командную строку исполняемого процесса. Это используется для запуска нового процесса и его отладки. Это должен быть последний элемент в командной строке. Весь текст после имени исполняемого файла передается исполняемому файлу в качестве строки его аргумента.

  2. Создание реестра ключ Debugger в Image File Execution Options как described on MSDN для запуска отладчика для этой программы автоматически при запуске программы

  3. Если программа находится под вашим контролем, вставить DebugBreak() вызов или аналогичный (Sleep(), getline()) прямо в начале.