2011-04-15 52 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