使用WinDbg进一步自动化

时间:2011-04-15 00:08:14

标签: windows debugging windbg

我正在使用 AppVerifier / WinDbg / cdb测试在IIS上运行的应用程序。基本上模式如下:当IIS启动cdb附加到进程并创建命名管道时,我使用WinDbg连接到管道。 然后我针对应用程序运行了数千个测试用例,并等到AppVerifier抛出一些东西。

问题/问题:

  1. 在测试的持续时间(大约10小时)内,IIS重启大约一千次,每次重新启动时WinDbg都会关闭,我将手动重新启动WinDbg。有没有办法说WinDbg在管道关闭时不要关闭,但重试连接它?
  2. 我要继续坐在WinDbg前面,等待AppVerifier扔东西?有没有办法说WinDbg在异常停止时发出蜂鸣声或显示弹出窗口?
  3. 感谢。

1 个答案:

答案 0 :(得分:4)

您可以使用sxe命令(或其他sx*命令)让WinDbg在命中异常时运行命令。对于一个简单的例子,这会在加载模块时打印“Hello,world:”:

sxe -c ".printf \"Hello, world: \"" ld

您可能会考虑将其与.beep命令结合使用,但这会导致语法错误。我认为这可能与.beep帮助中的说明有关,即“此命令不能在脚本文件中使用”。但是,您应该能够使用.shell做一些有用的事情。

我还没有尝试过,但也许可以使用sx*命令来捕获“进程退出”事件,从而解决重新连接问题。或者你可能有一个以IIS启动的cdb实例在发生异常时通知你,以便你可以使用WinDbg连接到它?