#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include <signal.h>
#include <execinfor.h>
static void WidebrightSegvHandler(int signum) {
}
int main(){
// 注册信号量
signal(SIGSEGV, WidebrightSegvHandler); // SIGSEGV
11
Core
Invalid memory reference
signal(SIGABRT, WidebrightSegvHandler); // SIGABRT
6
Core
Abort signal from
}
编译
-g -rdynamic

本文探讨了如何在C++程序中捕获和处理SIGSEGV和SIGABRT信号,并通过堆栈跟踪进行故障定位。详细介绍了信号处理函数的实现以及如何使用backtrace和backtrace_symbols获取堆栈信息。

4870

被折叠的 条评论
为什么被折叠?



