2011-05-10 219 views
1

當使用WinDbg調試可執行文件時,有沒有一種方法可以在調試開始爲調試會話設置環境變量之前指定要運行的批處理腳本?WinDbg環境變量

我在試圖模擬一個自動化的測試環境,這個可執行文件將運行。這些變量包含諸如當前內部版本號,結果目錄的位置以及第三方工具目錄所在位置等信息。我可以將它們硬編碼到應用程序中進行自己的測試,但這很難看:)。

這當然是在Windows操作系統上,我寧可不使用不同的調試器。

如果WinDbg不直接支持此功能,那麼實現此功能的最佳方法是什麼?

回答

4

WinDbg的-o選項會導致它自動附加到所有子進程,這對調試從另一個程序啓動的程序非常有用。如果運行windbg -o cmd.exe /c myscript.bat,WinDbg將調試cmd.exe(您可以跳過)以及由該實例cmd.exe產生的每個子進程。如果批處理文件在運行要調試的那個命令之前運行了許多其他命令,但這可能很煩人,但sx*命令(例如sxn ibp; sxe ld:mymodule)應該能夠減少煩惱。

另一種方法是使用Image File Execution Options註冊表項在啓動EXE時附加WinDbg(或cdb/ntsd)。

+0

太棒了!它工作的很好,跳過cmd.exe有點麻煩,但值得。非常感謝。 – MichaelHouse 2011-05-11 04:48:47