似乎有很多方法可以调试Windows 10/7,包括USB或网络或COM
但是其中哪一个是最快的?我只使用了COM,与调试本地用户模式应用程序相比,它似乎真的很慢,想知道最快的方法是什么?有没有方法可以使调试内核与用户模式应用程序一样快或关闭?
我的意思是,例如,单个步骤所需的时间或 windbg 执行命令所需的时间,因为现在即使是最简单的命令有时也需要太长时间
还有什么是最快的方法适用于 Windows 7?
有两个因素:波特率(数据传输速率(和响应时间(ping时间(。这在很大程度上取决于您执行的任务。
创建完整内存内核故障转储可能会传输大量数据,因此更高的带宽会有所帮助。
另一方面,发送小的 WinDbg 命令(如k
或|
(只有少量数据,但你通常会发送它并等待答案。在这种情况下,响应时间的影响更大。
对于波特率:
- 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 毫秒。
- 通过互联网进行调试非常慢,从 20 毫秒到 300 毫秒。
从可用性和成本的角度来看,我会从 1 GBit/s 的网络连接开始。如果您还没有,您可以以 12 欧元左右的价格购买便宜的千兆 USB 适配器。
其中哪一个最快?
正如我希望解释得足够好的那样,这是一个只有在我们知道确切情况时才能回答的问题。
我只用过COM,它似乎真的很慢
是的。是的。
现在,即使是最简单的命令有时也需要太长时间
从性能的角度来看,这不是我们可以处理的。如果您定义性能要求,我们需要知道 a( 现在有多快,以及 b( 您可接受的速度。
Windows 7 最快的方法是什么?
我认为操作系统在这里并不重要。
1394 是我在 Win 7 上使用的最快的。USB调试也是可能的,但您需要确保USB端口(通常是板载端口(支持调试 - 并非所有端口都支持此功能。在Win 10上,KDNet可能是迄今为止最快的。
但是,如果您正在使用VMWare或VirtualBox调试虚拟机,VirtualKD甚至比上述任何物理连接都快,因为它只是在来宾和主机之间复制数据。顺便说一句,它的实现非常有趣。
以上所有操作都比COM快得多。除非生成完整的内存转储,否则您不会感觉到太大的差异,即使如此,它们也不会给您带来真正的痛苦。