我們對我們的應用程序有例外。使用Dr.Watson,我們沒有捕獲任何dmp以及日誌文件。我被告知,WinDbg是在程序異常/崩潰時創建轉儲文件的替代方法。谷歌搜索後,我遇到了一堆混亂。首先,我想確認是否有可能在WinDbg的幫助下創建轉儲文件。其次,是否有任何推薦的簡單命令行將WinDbg附加到應用程序以在崩潰時獲取轉儲文件?非常感謝!WinDbg在崩潰時創建轉儲文件?
回答
如果你可以攔截在異常處理程序崩潰,那麼你可以使用代碼寫入轉儲: http://msdn.microsoft.com/en-us/library/windows/desktop/ms680360%28v=vs.85%29.aspx
否則,您需要指示華生醫生給您指定特定標誌攔截和創建轉儲詳細程度的轉儲將舉行:
cdb -pn myApp.exe -c ".symfix;.reload;.dump /ma c:\memdump\crash.dmp;qd"
01:
http://blogs.technet.com/b/askperf/archive/2007/06/15/capturing-application-crash-dumps.aspx和
http://social.technet.microsoft.com/wiki/contents/articles/8103.application-crash-dump-analysis-windows-7.aspx和
msdn
要從你需要做類似的命令行做到這一點
這假設的Cdb.exe路徑搜索,您可能需要使用像完整路徑前綴:
C:\Program Files (x86)\Debugging Tools for Windows (x86)\cdb -pn myApp.exe -c ".symfix;.reload;.dump /ma c:\memdump\crash.dmp;qd"
所以這裏
cdb -pn -->attaches cdb to your process name myApp.exe
-c -->execute command
.symfix -->fix microsoft symbols
.reload -->reload
.dump /ma c:\memdump\crash.dmp --> write minidump to location (the flags /ma is effectively everything you want)
qd -->quit and detach
命令你可能並不需要一些命令,你可以刪除它們,如果不需要。
非常感謝。命令行是否在崩潰時捕獲轉儲文件? – user1154138
這是將附加並執行內存轉儲的命令,但如果您檢查鏈接,仍需要在註冊表中設置處理程序 – EdChum
Choosing the Best Tool確認WinDbg將幫助您創建轉儲文件,但也提供了一些可能更易於使用的替代方案。
在這種情況下,我們通常建議我們的用戶下載procdump(這正好可以從zip文件中提取,無需安裝),然後我們給他們一個包含這樣的一個批處理文件:
mkdir c:\dumps
procdump -e -c 10 -w myprocess.exe c:\dumps
當過程產生未處理的異常會造成在c:\dumps
目錄,你可以加載到Visual Studio或WinDBG的轉儲文件(!analyze -v
命令是你的朋友)
您可以使用WinDbg使用.dump命令,
.dump /mfh /u C:\crash.dmp
對於碰撞情況下,其他兩個工具都比較適合,
- 1. Windbg崩潰轉儲分析
- 2. 在windbg中分析崩潰轉儲
- 3. 崩潰轉儲 - WinDbg - 強制PDB文件匹配不起作用?
- 4. 自動創建Visual C++崩潰轉儲
- 5. JVM崩潰後如何創建堆轉儲文件
- 6. 無法在windbg中讀取崩潰轉儲
- 7. 每次崩潰時爲應用程序創建一個轉儲文件
- 8. 轉儲崩潰轉儲
- 9. Tomcat或JVM崩潰轉儲文件?
- 10. 崩潰時創建IBM JVM Java核心轉儲
- 11. WinDbg的崩潰轉儲分析,CPU佔用率過高 -
- 12. Windbg - 檢測崩潰轉儲所需的符號
- 13. Windbg崩潰轉儲中的性能計數器
- 14. 如何使用WinDbg分析崩潰轉儲
- 15. 如何閱讀與windbg谷歌鍍鉻崩潰轉儲
- 16. Android崩潰轉儲
- 17. 開始時應用程序崩潰 - 如何獲取崩潰轉儲文件?
- 18. Button創建時Widget崩潰
- 19. 創建進程時崩潰
- 20. 創建活動時崩潰
- 21. Malloc創建UIImage時崩潰?
- 22. 分析WinDbg中的崩潰
- 23. 進程核心轉儲不會在崩潰後創建
- 24. XCode 7.01文件創建崩潰
- 25. 崩潰創建圖像文件夾
- 26. 崩潰轉儲文件是否需要在崩潰時運行的本地文件?
- 27. 什麼會導致hs_err_pid文件在崩潰時不被創建?
- 28. 如何在Android進程崩潰時創建崩潰日誌
- 29. 在C++模塊崩潰時創建PyTuple
- 30. Flash Player在創建NetConnection時崩潰
FYI:不足轉儲文件的最可能的原因從沃森博士並未將堆作爲轉儲的一部分。你應該考慮啓用那個麻煩的錯誤 – JaredPar
@JaredPar我不明白你的建議。通常Dr.Watson中的選項包括:「轉儲符號表」,「轉儲所有線程上下文」... – user1154138
我從來沒有真正使用過沃森博士的管理員端,我只是消費了結果:)。 – JaredPar