使用WinDbg进一步自动化

Azh*_* KG 5 windows debugging windbg

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

问题/问题:

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

谢谢.

bk1*_*k1e 4

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

sxe -c ".printf \"Hello, world: \"" ld
Run Code Online (Sandbox Code Playgroud)

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

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