以下問題描述爲Windows How to create minidump for my process when it crashes?生成迷你文本轉儲的Linux
但我怎麼能在Linux上創建迷你崩潰轉儲的文字?
以下問題描述爲Windows How to create minidump for my process when it crashes?生成迷你文本轉儲的Linux
但我怎麼能在Linux上創建迷你崩潰轉儲的文字?
您需要編寫一個信號處理程序。
這裏是如何做到這一點幻燈片甲板:
http://www.scribd.com/doc/3726406/Crash-N-Burn-Writing-Linux-application-fault-handlers
這裏是代碼形式的幻燈片平臺:
我不確定你可以得到與.NET MiniDump完全相同的東西 - 但是你將能夠在Linux上生成一個核心轉儲,以便獲得你之後的信息。確保核心文件是通過發出一個命令,如啓用:
ulimit -c unlimited
這也將設置核心的最大尺寸轉儲是unlimited
- 因爲你希望實現的「小」的方面,你可以定製這個你的問題。 man ulimit
是你的朋友在這裏。
然後,運行你的程序,當你運行它的時候殺死它。我通常發送的信號是SIG_ABRT
(信號6)像這樣:
kill -6 <pid>
如果你不知道的PID是什麼,或者如何讓一個pid,你可能需要閱讀更多的在Linux上一些。
確保您的代碼編譯的' -g'標誌(調試符號),所以你可以理解核心轉儲。您也可以使用信號的名稱(不帶'SIG'前綴)來「殺死」,因此您不必記住數字:'kill -ABRT' –
感謝您的補充,Mike! –
我已經生成核心轉儲,但我想生成一個小的可讀文本轉儲 –