我一直在我的程序中出現分段錯誤,但沒有生成核心轉儲文件。 ulimit顯示的值是無限的,確實沒有ulimit -c的限制,看起來沒有問題。有任何想法嗎?分段錯誤,沒有核心轉儲
回答
這可能有幾個原因
- 到目錄
- 程序改變工作目錄
尋找其他地方的核心沒有寫訪問過 - 磁盤已滿
- 的ulimit被設置在一個外殼中並且程序在不同的外殼或環境中啓動
+程序是一個守護進程,但OP會爲其當前shell會話更改ulimit設置。 – Slava 2013-03-07 13:57:47
@Slava謝謝,補充說。 – 2013-03-07 14:34:46
要解決的shell會話問題,提供你不反對被根測試:特別是你在內存訪問錯誤的地址發生
#ifdef DEBUG
// Enable core dumps
struct rlimit corelim;
corelim.rlim_cur = -1;
corelim.rlim_max = -1;
if (setrlimit (RLIMIT_CORE, &corelim) != 0)
{
log_error ("Couldn't set core limit");
}
#endif
分段錯誤。資源不正確的初始化是非常可能的。例如,您可以使用Valgrind進行調試。
這是如何解決沒有產生核心轉儲的問題? – us2012 2013-03-07 14:45:13
分配內存的問題不是語法錯誤。 – user1929959 2013-03-07 14:53:37
如果你的程序以root身份運行(或具有root功能)檢查:
cat /proc/sys/fs/suid_dumpable
,或者如果程序是一個守護進程檢查:
getsebool allow_daemons_dump_core
- 1. 段錯誤 - 核心轉儲
- 2. Genymotion:分段錯誤(核心轉儲)genymotion
- 3. 分段錯誤(故障核心轉儲)
- 4. C - 分段錯誤(核心轉儲)
- 5. 分段錯誤(核心轉儲)
- 6. C++的核心轉儲分段錯誤
- 7. g ++:分段錯誤(核心轉儲)
- 8. 核心轉儲和分段錯誤
- 9. 分段錯誤(核心轉儲)鏈表
- 10. 分段錯誤(核心轉儲)C
- 11. 保持分段錯誤(核心轉儲)
- 12. PyQt5分段錯誤(核心轉儲)
- 13. 核心轉儲文件沒有生成分段錯誤
- 14. 錯誤段錯誤(核心轉儲)
- 15. 分割錯誤(核心轉儲)錯誤
- 16. 分段錯誤(核心轉儲)。沒有編譯錯誤。搜索論壇
- 17. C分段錯誤(核心轉儲)錯誤
- 18. 鏈接列表錯誤「分段錯誤」核心轉儲
- 19. cifar10示例tensorflow的分段錯誤(核心轉儲)錯誤
- 20. C中出現錯誤「分段錯誤(核心轉儲)」
- 21. Ubuntu上的段錯誤(核心轉儲)
- 22. Golang段落錯誤(核心轉儲)
- 23. C - Check_expect_i和段錯誤(核心轉儲)
- 24. 分割故障(核心轉儲)錯誤
- 25. 分割錯誤(核心轉儲)
- 26. 分割錯誤 - 核心轉儲
- 27. 分割錯誤(核心轉儲)
- 28. 分割錯誤(核心轉儲)C++
- 29. 分割錯誤(核心轉儲),linux,g ++
- 30. C++分割錯誤 - 核心轉儲
Mayby首先我們看一些代碼? – Blood 2013-03-07 13:47:45
這很可能是一個空指針或訪問數組之外。 – QuentinUK 2013-03-07 13:48:22
在調試器中運行該程序,以便在故障發生時您會中斷。 – unwind 2013-03-07 13:48:40