如何调试由其他可执行文件启动的进程!
Posted yilang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何调试由其他可执行文件启动的进程!相关的知识,希望对你有一定的参考价值。
问题是,我们要调试由其他应用程序运行的应用程序的启动代码!例如,我将打开一个控制台(cmd.exe),然后打开calc.exe,我想调试初始的calc.exe代码。。
Windbg已经解决了这个问题!当您选择“打开可执行文件”时,您有一个小的复选框,上面写着“同时调试子进程”,它实际上确保所有由父EXE生成的进程(您在这个对话框中选择了它!)也由调试器附加。
如果您对命令行选项感兴趣,可以使用“-o”选项。
只有在使用“|”命令时才会出现这种情况(至少在用户模式下)!因为当我们附加到任何子进程时,它会在windbg命令行的剩余空间中显示正在调试的当前进程,如下所示!
如果您执行命令|您将能够看到列表中所有可以调试的进程(一次只能调试一个进程!)。您将得到与下面所示类似的输出。
我们还可以使用|<number>s命令在不同进程之间移动。例如,在上面的例子中,如果我们想回到debug cmd.exe,我们必须给出命令| 0s。
注意:只有在打开(生成)父可执行文件时,此操作才有效“附加到进程”没有调试所有子进程的选项!
以上是关于如何调试由其他可执行文件启动的进程!的主要内容,如果未能解决你的问题,请参考以下文章
在 Visual Studio 中调试由可执行文件调用的 C++ 文件