Windbg的gflags.exe -- Attach調試利器
睿豐德科技 專注RFID識別技術和條碼識別技術與管理軟件的集成項目。質量追溯系統、MES系統、金蝶與條碼系統對接、用友與條碼系統對接
有沒有碰到過程序啟動就因為異常直接crash?有沒有碰到程序啟動之后什么反應也沒有?有沒有碰到過程序啟動之后去觸發另一個進程失敗?有沒有碰到別人的程序調用了你的代碼,出現問題以后,讓你來調查,而你只有你的源代碼,該怎么辦?
碰過這樣的問題,應該都會很頭疼吧,如何診斷問題呢?最簡單的當然是Debug吧,可是當程序沒有啟動的時候,我們不能Attach to process...因為進程還不存在。但如果等啟動程序再Attach,啟動時的代碼段早就過了。
當然你還有一種選擇,就是寫Log,但是Log的信息都是有限的,而且沒有單步調試,很難跟蹤到錯誤的原因。
所以,對我們程序員來說,最簡單當然是Debug。該怎么辦呢?我們需要就是gflags.exe。該怎么用呢?
- 首先你需要安裝Debugging Tools for Windows (http://msdn.microsoft.com/en-us/windows/hardware/gg463009)。里面有大名鼎鼎的Windbg哦,不過今天要用的是其中的gflag.exe。
- 雙擊打開gflags.exe,選擇Image File標簽。
- 在Image欄里輸入你希望調試的程序名。比如,mstest.exe。(按Tab)
- 勾選Debugger并輸入vsjitdebugger.exe。
- 點擊OK或者Apply。
- 再次啟動你的程序吧,這時候就可以看到VS Debugger的調試選框。
- 勾選“Manually choose the debugging engines”選框。
- 并選擇打開你的代碼的VS。
- 選擇你的Debugger engine吧,如果你是.net 4.0的代碼,那么就選擇Managed (v4.0)。
- 終于,你的VS已經可以Attach到該啟動程序中了。
嘗試下gflags.exe的威力吧,真的很好用,幫我解決了很多問題。強力推薦。
from:http://blog.csdn.net/lunasea0_0/article/details/6292968
RFID管理系統集成商 RFID中間件 條碼系統中間層 物聯網軟件集成