使用 windbg 调试 windows 10/7 内核的最快连接方法是什么?

What is the fastest connection method to debug a windows 10/7 kernel using windbg?

调试一个windows10/7好像有很多方法,包括USB或者网络或者COM

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

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

另外 windows 7 最快的方法是什么?

有两个因素进来:波特率(数据传输率)和响应时间(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 适配器。

which of them is the fastest?

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

I have only used COM and it seems to be really slow

是的。是的。

right now even the simplest commands sometimes take too long

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

What is the fastest method for windows 7?

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

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

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

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