2016-04-29 58 views
1

我有以下问题:假设你有一个可执行文件(的Program.exe),它让你从CMD.EXE开始。所以,我们有附加WinDbg到过程

C:> start program.exe 

是否有可能将WinDbg附加到正在运行的进程program.exe?如果是的话,我该怎么做到呢?可能吗 ? 注意:当我让program.exe启动时,另一个命令行窗口打开,&关闭非常快。 WinDbg能抓住它吗? 我试图用Immunity Debugger来捕捉它,但没有机会。

+2

为什么不直接从WinDbg启动'program.exe'? –

+1

cmd/k windbg program.exe – blabb

+0

我应该将该命令写入批处理文件吗? – user3097712

回答

3

通常情况下,您可以附加到WinDbg中的进程F6或使用-pn命令行开关。如果过程终止得太快,有几种选择:

  1. 在调试器下运行该程序。使用Ctrl + E并输入程序的名称,参数和起始目录。可替代地,指定可执行和参数作为最后的参数的WinDbg:

    可执行

    指定的可执行过程的命令行。这用于启动一个新的进程并对其进行调试。这必须是命令行上的最后一项。可执行文件名后面的所有文本作为参数字符串传递给可执行文件。

  2. 创建一个注册表项DebuggerImage File Execution Optionsdescribed on MSDN启动调试器用于该程序的程序启动

  3. 时自动如果程序是你的控制之下,插入一个DebugBreak()来电或同级(Sleep()getline())就在开始。