2011-04-15 88 views
5

我测试使用AppVerifier的/WinDbg的/ CDB在IIS上运行的应用程序。基本模式是:当IIS启动国家开发银行十分重视的过程,并创建一个命名管道,然后我使用WinDbg连接到管道。 然后我运行成千上万的测试用例对应用程序和等到AppVerifier的抛出一些东西。进一步自动化使用WinDbg

问题/问题:

  1. 在这段时间里(约10小时)的测试,IIS每它的重新启动WinDbg的关闭时间重新启动各地一千次,我已经到手动重新启动WinDbg。有没有办法说当管道关闭时WinDbg不关闭,而是重试连接它?
  2. 我已经对WinDbg的面前不断地坐着等AppVerifier的扔东西吗?有没有办法对WinDbg发出哔哔声或在异常停止时显示弹出窗口?

谢谢。

回答

4

您可以使用sxe命令(或其他sx*命令)让WinDbg在遇到异常时运行命令。对于一个简单的例子,这个打印“你好,世界:”当一个模块被加载:

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

你可能会认为这与.beep命令结合起来,而这将导致一个语法错误。我认为这可能与在.beep帮助,说的说明“此命令不能在脚本文件中使用。”但是,你应该能够使用.shell做一些有用的东西。

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

+0

”或者,也许你可以让有IIS启动的cdb实例在发生异常时通知你,这样你就可以使用WinDbg连接它了?“ - 我想这会解决这两个问题 - 任何想法如何设置这种方式? – 2011-04-18 21:23:14

+0

我认为这应该是'cdb -c“sxe -c”“.shell sendMeAnEmail.exe”“someException”'的行。 (不过,我不知道这是否是正确的方式来避免引号。) – bk1e 2011-04-19 05:43:49