【问题标题】:best technique for launching a windbg user-mode remote debugging session启动 windbg 用户模式远程调试会话的最佳技术
【发布时间】:2010-09-08 08:19:28
【问题描述】:

您最喜欢启动 windbg 用户模式远程调试会话的技术是什么? 为什么你更喜欢这种技术而不是其他技术? (优点/缺点)

至少有四种不同的方法可以使用 windbg 进行用户模式远程调试,如 windows 帮助文件的调试工具的“远程调试”部分所述。

  1. 在目标上运行应用程序,然后从主机 windbg 附加到它
  2. 让主机 windbg 使用 remote.exe 在目标上启动应用程序
  3. 让“智能客户端”主机 windbg 通过在目标上运行的进程服务器在目标上启动应用程序
  4. 使用选项“-server”在目标机器上运行一个 windbg 实例以自动启动服务器,然后从第二台机器连接到服务器。

【问题讨论】:

  • 您也可以接受自己的答案。

标签: debugging windbg remote-debugging


【解决方案1】:

选项 1 是我最喜欢的,因为它是最简单的。我可以以正常方式启动应用程序,而不必担心让 WinDbg 设置正确的工作目录、传递任何命令行参数等。

幸运的是,我没有遇到任何这种方法不起作用的情况!

【讨论】:

  • 选项 1 是我最不喜欢的,因为它很难通过脚本实现自动化。借助一个简单的脚本,所有其他选项(同样)简单高效。
【解决方案2】:

我倾向于使用选项 4 (-server),因为当您闯入内核调试器足够长的时间以使 TCP 连接超时时,它是唯一不会“弹出”的选项。但这更复杂,并不完全令人满意。所以我正在寻找“最佳实践”。

【讨论】:

  • 我也使用选项 4。我们让我们的测试机器在登录时自动启动一个 windbg 服务器。
  • 回到这一点,我仍然主要使用选项 4。在内核调试器中花费很长时间的恢复能力很重要。
【解决方案3】:

没有“最好”的解决方案。每种可能性都有优点和缺点,最好了解所有这些。这取决于几个因素,例如:

  • 符号在哪里
  • 哪台 PC 可以访问 Internet 以下载操作系统符号
  • 可以将多少数据复制到服务器(如果只是单个 Exe,客户端通常会更好地接受)
  • 客户端和服务器之间的带宽是多少
  • 您是否需要仅 CDB/WinDbg 的其他命令,例如访问CMD,然后考虑remote.exe
  • 在服务器端可用的人、可以轻松说出许多神秘命令的调试专家或几乎不知道如何启动命令提示符的普通用户
  • 双方都在专用网络中,因此您需要一个“中间人”服务器才能相互访问(或端口转发作为替代方案,这是 IT 人员不想要的,可能需要几天时间才能访问设置好)

从这 4 个选项中,不要忘记客户通常希望确切了解您所做的事情,因此他们需要 RDP 会话、Teamviewer 或类似工具。这是他们理解的。

【讨论】:

    猜你喜欢
    • 2017-05-24
    • 2016-03-04
    • 2010-09-10
    • 1970-01-01
    • 2013-12-01
    • 2013-04-14
    • 1970-01-01
    • 2020-09-02
    • 1970-01-01
    相关资源
    最近更新 更多