2013-04-24 52 views
1

考虑下面的场景:detatch的WinDbg内核调试器与目标保持运行

  1. 我有一个Windows 7系统上安装调试通过串行端口。
  2. 在另一台机器上,我在它们之间安装了串联电缆。

当我开始在目标机器,&已经WinDbg调试器的机器上运行,WinDbg中& windows内核之间的连接会建立适当&我能够调试按照我想要的东西。

我的问题是:

当连接建立后,就没有办法detatch内核调试&允许它作为独立运行。
我经常需要删除/重新安装驱动程序。调试器连接完全不一定是这个&它使得安装非常慢。

简单的解决方案根本不启动windbg。但是,有没有办法只是让detatch调试器&允许系统自由运行,连接建立后? 目前,调试器的分离使目标系统保持冻结状态,允许用户再次重新连接。

注:任何hacky的方式也是受欢迎的。没有干净的方式。 (至少我知道)

回答

1

不是我所知道的。我记得在某个时候(XP,也许?)目标机器会在一段时间后(30-60秒)超时并继续运行,但我认为这不再是真的。

您可以使用.kdfiles而不是卸载/重新安装吗?或者,甚至更好,切换到1394.

+0

我不能使用1394,因为它不是2个简单系统的情况。目标系统是一个虚拟机,使用虚拟串行TCP连接,这本质上很慢。 – anishsane 2013-04-24 14:29:23

+0

改为使用VirtualKD(如果适用):http://virtualkd.sysprogs.org/ – snoone 2013-04-25 14:05:50

+0

Yikes ...的确如此。目标(win7_64)在〜100秒后开始超时并开始运行。另一方面,只有在调试器端口上生成了一些日志时,目标才会冻结。 – anishsane 2013-04-25 16:44:17

0

通常在重新启动时,它会很慢,因为它检索并加载所有符号。在主机上缓存符号会在一定程度上提高速度。另一个提示,只要你觉得它卡住或更慢..按Ctrl + Brk中止任何长期卡住加载操作,并按F5继续运行。

+0

不,这些符号加载完成...我不小心'开始windbg(实际上,通过一个脚本),它被附加到目标。目标已启动到桌面&可正常使用。但是,由于附加了调试器,一切都很慢。 – anishsane 2013-04-25 04:16:05