3
A
回答
2
This answer表明,析构函数不会被调用。
0
的signal(3)
手册页上我的Mac OS X盒说
No Name Default Action Description
...
6 SIGABRT create core image abort program (formerly SIGIOT)
这表明,我认为默认是不放松......
1
不,只有异常触发堆栈展开。信号是POSIX的一部分,它是一个C API,所以它不会“意识到”C++设施,例如异常。
4
号:
$ cat test.cc
#include <iostream>
#include <sys/types.h>
#include <signal.h>
class Test {
public:
~Test() { std::cout << "~Test called" << std::endl; }
};
int main(int argc, char *argv[])
{
Test t = Test();
if (argc > 1) {
kill(0, SIGABRT);
}
return 0;
}
$ g++ test.cc
$ ./a.out
~Test called
$ ./a.out 1
Aborted
0
信号SIGABRT用于制造运行的应用程序一段时间的核心文件。我们有时候会使用这个信号来调试应用程序。而据我所知,析构函数不被这个信号调用。
相关问题
- 1. 发生崩溃时查看堆栈
- 2. SIGABRT“在堆栈不够框架”
- 3. Stackoverflow没有发生,试图找出是否分配堆栈或堆内存
- 4. 停止调试时,堆栈是否展开?
- 5. Bitnami堆栈是否有效?
- 6. 是否Zend_Db_Adapter :: beginTransaction()堆栈?
- 7. 如何在堆栈溢出发生之前看到堆栈?
- 8. 的Mac:我得到SIGABRT但调用堆栈是没用
- 9. 随机理解图表堆栈生成
- 10. 堆栈生成器
- 11. 我应该了解Java开发堆栈的哪些组件?
- 12. Haskell堆栈解释
- 13. 在.NET中,堆栈中是否也可能发生内存泄漏?
- 14. 暴露开发堆栈(框架,服务器,语言等)是否安全
- 15. 堆栈展开是否真的需要锁定?
- 16. 基于servlet的堆栈是否有大量开销?
- 17. 堆栈的“顶端”是否与开始和结束都不同?
- 18. 是否有堆栈溢出模型的开源替代方案?
- 19. z-index堆栈上下文是否有解决方法?
- 20. 什么是DRAM堆栈(递归期间发生了什么)?
- 21. 弹出堆栈时内存会发生什么变化?
- 22. 为什么在发生异常时不显示堆栈跟踪?
- 23. 在开发Firefox扩展时获取堆栈跟踪
- 24. 堆栈是否连续增长?
- 25. 如何检查堆栈是否为空
- 26. 垃圾收集是否影响堆栈?
- 27. XCode:仪器是否有堆栈跟踪?
- 28. 这些堆栈是否需要合并?
- 29. 检查堆栈分配是否失败?
- 30. 反映堆栈跟踪在发布版本中是否危险?