【问题标题】:What is the fastest connection method to debug a windows 10/7 kernel using windbg?使用windbg调试Windows 10/7内核的最快连接方法是什么?
【发布时间】:2023-03-15 02:58:01
【问题描述】:

似乎有很多方法可以调试 Windows 10/7,包括 USB 或网络或 COM

但是他们中哪一个是最快的?我只使用了 COM,与调试本地用户模式应用程序相比,它似乎真的很慢,想知道最快的方法是什么?有什么方法可以让调试内核与用户模式应用程序一样快或关闭?

我所说的快速是指例如单个步骤所花费的时间或 windbg 执行命令的时间,因为现在即使是最简单的命令有时也会花费太长时间

还有什么是 windows 7 最快的方法?

【问题讨论】:

    标签: debugging window kernel windbg windows-kernel


    【解决方案1】:

    有两个因素影响:波特率(数据传输率)和响应时间(ping 时间)。这在很大程度上取决于您执行的任务。

    创建完整的内存内核故障转储可能会传输大量数据,因此更高的带宽会有所帮助。

    另一方面,发送像k| 这样的小型WinDbg 命令只有少量数据,但您通常发送它并等待答复。在这种情况下,响应时间的影响更大。

    对于波特率:

    • COM 端口是一个串行端口,可配置为 75 波特至 2 MBit/s。
    • USB 取决于版本,在 USB 3.2 第 2 代上具有 12 MBit/s 到 10 GBit/s。
    • Firewire 的可用速度从 100 MBit/s 到 3200 MBit/s。
    • 网络,以及从 10 MBit/s 到 10 GBit/s 的典型值。但当然,如果您通过 Internet 进行调试,它不会比您的 DSL 或电缆调制解调器快。

    对于 ping 时间:

    • USB 的响应时间不到 1 毫秒,但这可能取决于您连接的设备数量。
    • 本地全双工网络的响应时间也小于 1 毫秒。
    • 通过 Internet 进行调试非常慢,需要 20 毫秒到 300 毫秒。

    从可用性和成本的角度来看,我将从 1 GBit/s 的网络连接开始。如果您还没有,可以花 12 欧元左右购买便宜的千兆 USB 适配器。

    哪一个最快?

    正如我希望解释的足够好,这是一个只有在我们知道确切情况时才能回答的问题

    我只用过COM,好像真的很慢

    是的。是的。

    现在即使是最简单的命令有时也需要很长时间

    从性能的角度来看,这不是我们可以使用的。如果您定义了性能要求,我们需要知道 a) 现在有多快,b) 您可以接受多快。

    windows 7 最快的方法是什么?

    我认为操作系统在这里并不重要。

    【讨论】:

    • 附带说明,网络调试 (KDNET) 仅适用于目标计算机的 Windows 8。
    • @Neitsa:感谢您提供的信息。我没有意识到这一点
    • @ThomasWeller 感谢您的回答!我尝试了 KDNet,但执行 windbg 命令所花费的时间似乎与 COM 没有太大区别,那么切换到 USB 会有什么不同吗?或任何其他建议?我只想让 windbg 尽快执行命令。在您的回答中,您还包括了 ping 时间和波特率,但是执行命令所需的时间呢?
    • 我和客人的网络连接也很好,1ms 和 +1GB/s
    • @Notoriouss 很长一段时间以来,这些命令一直很慢。我不确定这是windbg问题还是来自内核本身(不导出这些命令所需的一些全局变量),但任何涉及设备对象的命令都很慢。不只是你。
    【解决方案2】:

    1394 是我在 Win 7 上使用的最快的一个。USB 调试也是可能的,但您需要确保 USB 端口(通常是板载的)支持调试 - 并非所有端口都支持这一点。在 Win 10 上,KDNet 可能是迄今为止最快的。

    但是,如果您使用 VMWare 或 VirtualBox 调试虚拟机,VirtualKD 甚至比上述任何物理连接都快,因为它只是在来宾和主机之间复制数据。顺便说一句,它的实现非常有趣。

    以上所有方法都比 COM 快得多。除非您生成完整的内存转储,否则您不会感觉到太大的差异,即使在这种情况下,它们也不会给您带来真正的痛苦。

    【讨论】:

      猜你喜欢
      • 2011-06-11
      • 2013-01-07
      • 2010-11-03
      • 2020-07-16
      • 1970-01-01
      • 2014-03-19
      • 2011-12-19
      • 1970-01-01
      • 2019-08-03
      相关资源
      最近更新 更多