启动 Windbg 用户模式远程调试会话的最佳技术
-
09-06-2019 - |
题
您最喜欢启动 Windbg 用户模式远程调试会话的技术是什么?为什么您比其他技术更喜欢这种技术?(优点缺点)
使用windbg 进行用户模式远程调试至少有四种不同的方法,如Windows 调试工具帮助文件的“远程调试”部分中所述。
- 在目标上运行应用程序,然后从主机 Windbg 附加到它
- 让主机windbg使用remote.exe在目标上启动应用程序
- 让“智能客户端”主机 Windbg 通过在目标上运行的进程服务器在目标上启动应用程序
- 使用选项“-server”在目标计算机上运行 Windbg 实例来自动启动服务器,然后从第二台计算机连接到该服务器。
解决方案
不存在“最好”的解决方案。每种可能性都有优点和缺点,了解所有这些可能性是有好处的。这取决于几个因素,例如:
- 符号位于哪里
- 哪台 PC 可以访问 Internet 以下载操作系统符号
- 您可以将多少数据复制到服务器(如果只是一个 Exe,客户端通常会更好地接受)
- 客户端和服务器之间的带宽是多少
- 您是否需要 CDB/WinDbg 之外的其他命令,例如访问CMD,然后考虑remote.exe
- 谁可以在服务器端使用,可以轻松告诉您许多神秘命令的调试专家,或者几乎不知道如何启动命令提示符的普通用户
- 双方都在专用网络中,因此您需要一个“中间人”服务器才能相互访问(或使用端口转发作为替代方案,IT人员不希望这样做,并且可能需要几天的时间才能完成设置)向上)
在这 4 个选项中,不要忘记客户通常希望准确了解您所做的事情,因此他们需要 RDP 会话、Teamviewer 或类似工具。这是他们所理解的。
其他提示
选项 1 是我最喜欢的,因为它是最简单的。我可以以正常方式启动应用程序,而不必担心让 WinDbg 设置正确的工作目录、传递任何命令行参数等。
幸运的是,我还没有遇到过这种方法不起作用的情况!
我倾向于使用选项 4 (-server),因为它是唯一一个在您闯入内核调试器足够长的时间以使 TCP 连接超时时不会“弹出”的选项。但这更复杂并且不能完全令人满意。所以我正在寻找“最佳实践”。
不隶属于 StackOverflow