问个记要报错信息的实现方式
问个记录报错信息的实现方式发现有很多程序在运行崩溃后可以把错误信息记录下来这种是怎么实现的?程序崩溃
问个记录报错信息的实现方式
发现有很多程序在运行崩溃后可以把错误信息记录下来
这种是怎么实现的?程序崩溃就直接挂掉了怎么可能还记录信息呢?
[最优解释]
linux 下面
backtrace((void **)vals, count);
backtrace_symbols ((void **)vals, lvls);
这两个函数就可以拿到程序运行的堆栈信息
[其他解释]
操作系统里面都有一套error signal的传播机制,signal函数就是干这活
[其他解释]程序崩溃前调用了这两个函数,拿到了运行时的堆栈信息,打印出来后再退出就实现了信息的记录。
[其他解释]那我怎么知道它什么时候崩溃呢
还有Window下是怎么实现的啊?