远程调试及调试子进程的方式

Visual Studio

远程调试

首先,需要在目标机器上安装remote debugger,可以从VS的安装目录中获取该软件。以VS2017为例,可以从以下目录找到remote debugger:

C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\Remote Debugger

将整个文件夹拷贝到目标机器上.

需要注意的是,x86和x64指的是要调试的程序,而非当前系统的平台。所以被调试的程序如果是x86的则应该使用x86的remote debugger,反之亦然。

 

调试子进程

VS本身并没有任何办法调试子进程(截止到VS2017),但是VS2017有官方插件可以用来调试子进程。

https://marketplace.visualstudio.com/items?itemName=vsdbgplat.MicrosoftChildProcessDebuggingPowerTool

 

WinDbg

远程调试

可以参考MSDN的这篇文章:

https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/remode-debugging-using-windbg

 

使用示例:

1. 在目标机器和主机上安装WinDbg

2. 在目标机器(被调试机器)上启动想要调试的程序,然后执行以下命令

windbg -server tcp:port=5005 -p 1394

意思是使用tcp连接,调试端口设置为5005,调试的进程ID是1394

3. 在主机(调试机器)上执行以下命令

WinDBG.exe-remote tcp:server=dbgPC,port=5005

dbgPC为目标机器(被调试)机器的机器名

 

调试子进程

敲入以下命令

.childdbg 1

之后可以通过WinDbg的Process and Threads窗口(Alt + 9)来切换想要调试的进程

posted @ 2019-02-27 08:38  czhao4  阅读(671)  评论(0编辑  收藏  举报