我的程序(在Ubuntu 12.04上用gcc 4.6.4編譯)有一個相當有趣的問題。當我動態構建可執行文件時,程序運行完美無瑕。但是當我靜態構建它(帶有靜態標誌)時,它會在退出後給我一個「核心轉儲」(例如在主返回0之後)。不幸的是,整個程序太大而無法在這裏構成。有什麼可能性?程序退出後轉儲的核心
1
A
回答
1
1)你有一個線程仍在執行。 2)你正在覆蓋內存,你會對動態庫感到幸運。
2
另外的兩種可能性在johnnycrash answer:
某些功能
__attribute__ ((destructor))
被調用,並轉儲核心。內存堆已損壞(與valgrind檢查)
與atexit(3)註冊的一些功能崩潰
某些庫/功能鏈接 「兩次」
+0
感謝您的建議。不知何故,用'_exit(0)'代替'return 0'解決了這個問題。 – kengo
+0
繞過此問題而未解決問題。 –
相關問題
- 1. 多線程程序的核心轉儲
- 2. OpenMP給出(核心轉儲)
- 3. C程序段默認(核心轉儲)
- 4. 程序在socket之後退出無核心文件::發送
- 5. perl線程核心轉儲
- 6. 核心轉儲?
- 7. 使perl進程轉儲核心而不是直接退出進程
- 8. 運行程序時出現分段錯誤(核心轉儲)
- 9. basic_string.tcc中的核心轉儲 - 優化出
- 10. QThread轉儲核心
- 11. Aborted(核心轉儲)
- 12. gnuplot:Aborted(核心轉儲)
- 13. 程序運行並顯示輸出後,分段錯誤核心轉儲
- 14. 分段錯誤(核心轉儲)後果
- 15. Python腳本轉儲ELF(核心和出)?
- 16. 找出核心轉儲何時完成
- 17. gcc地址sanitizer核心轉儲出錯
- 18. pthread_mutex_lock上的核心轉儲
- 19. 多線程程序中的核心轉儲:basic_string :: _ S_construct null無效
- 20. Linux核心轉儲vs堆轉儲?
- 21. gdb調試核心轉儲遠程
- 22. 開啓核心/崩潰轉儲編程
- 23. gdb調試遠程核心轉儲
- 24. 核心轉儲文件出現然後消失
- 25. 當用戶退出應用程序時保存核心數據?
- 26. 如何從停止的程序(Linux)的核心轉儲
- 27. 未生成核心轉儲
- 28. M2Crypto導致核心轉儲
- 29. 中止核心轉儲
- 30. 中止(核心轉儲)
您正在使用動態庫而不是靜態鏈接庫的靜態庫。 – user3629249