我的程序(在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. Aborted(核心转储)
- 11. QThread转储核心
- 12. gnuplot:Aborted(核心转储)
- 13. 程序运行并显示输出后,分段错误核心转储
- 14. 分段错误(核心转储)后果
- 15. gcc地址sanitizer核心转储出错
- 16. Python脚本转储ELF(核心和出)?
- 17. 找出核心转储何时完成
- 18. pthread_mutex_lock上的核心转储
- 19. 多线程程序中的核心转储:basic_string :: _ S_construct null无效
- 20. Linux核心转储vs堆转储?
- 21. 开启核心/崩溃转储编程
- 22. gdb调试远程核心转储
- 23. gdb调试核心转储远程
- 24. 核心转储文件出现然后消失
- 25. 当用户退出应用程序时保存核心数据?
- 26. 如何从停止的程序(Linux)的核心转储
- 27. 核心数据数据库在应用程序退出后关闭吗?
- 28. C + Python和核心转储
- 29. 核心转储异常
- 30. 分析核心转储
您正在使用动态库而不是静态链接库的静态库。 – user3629249