我希望程序在Linux上進行崩潰時轉儲核心以進行調試。如何啓用此功能 - 是否需要程序中的任何更改?如何啓用程序在Linux上轉儲核心?
3
A
回答
6
您可以啓用它爲自己做:
ulimit -c unlimited
如果你想這是它在〜/ .profile文件
Alterantively,您可以啓用的核心轉儲持續看跌系統上的所有用戶在/etc/sercurity/limits.conf(至少在Ubuntu上)放置了以下行:
* 0 core -1
2
是否產生核心轉儲或不被shell
如果你使用bash控制。
ulimit -c unlimited
1
如果您的程序是用戶模式程序。這是一個簡短的教程。
將核心文件大小爲最大
的ulimit -c無限
運行程序
$ ./your_program
區隔(核心轉儲)
它會生成核心轉儲文件。 用GDB分析核心轉儲
GDB ./your_progrm核心
您可以參考How to Debug Using GDB以獲取更多信息。
2
除了特洛伊的回答,你將不得不添加到E的/ etc/sysctl.conf的 - 在那裏,你需要如何內核生成 - 這樣的:
kernel.core_uses_pid=1
kenrel.core_pattern= /tmp/cores/core-%e-%p-%u-%g-%s-%t
fs.suid_dumpable=2
相關問題
- 1. 如何在montavista linux上爲守護進程啓用核心轉儲?
- 2. 如何從停止的程序(Linux)的核心轉儲
- 3. Linux核心轉儲過大!
- 4. Linux核心轉儲vs堆轉儲?
- 5. 程序在Linux上生成核心轉儲,但在Windows上正常工作
- 6. 啓用核心轉儲在紅帽
- 7. 開啓核心/崩潰轉儲編程
- 8. Linux無法從應用程序創建核心轉儲
- 9. 多線程程序的核心轉儲
- 10. pthread_mutex_lock上的核心轉儲
- 11. C程序段默認(核心轉儲)
- 12. 程序退出後轉儲的核心
- 13. 分割錯誤(核心轉儲)C linux
- 14. 哪裏是核心轉儲? (Linux)
- 15. 分割錯誤(核心轉儲),linux,g ++
- 16. Linux的 - 不能generete核心轉儲
- 17. 在Linux核心轉儲中僅轉儲堆棧跟蹤
- 18. perl線程核心轉儲
- 19. 如何用gdb分析程序的核心轉儲文件?
- 20. 核心轉儲?
- 21. 如何在Linux中生成核心轉儲文件?
- 22. 如何確保我的Linux程序不會產生核心轉儲?
- 23. 無法寫入核心轉儲。核心轉儲已被禁用。要啓用核心轉儲,請在再次啓動Java之前嘗試「ulimit -c unlimited」
- 24. 在Linux中爲小應用程序生成java核心轉儲日誌文件
- 25. 如何讓linux核心轉儲文件每次都被覆蓋?
- 26. 如何增加Linux核心轉儲匹配符號的概率?
- 27. c程序轉unix上的核心
- 28. QThread轉儲核心
- 29. Aborted(核心轉儲)
- 30. gnuplot:Aborted(核心轉儲)
你可以做到這一點,但我相信如果沒有特別的配置,大多數Linux發行版都會在當前目錄下轉儲一個'core'文件(所以說「你必須」有點太強大了,「你可能不得不」)就足夠了) –