예제 #1
0
파일: main.c 프로젝트: baiihcy/DevScerpt
void PrintSigno(int signo)
{
    static int i = 0;
	printf("\n\n=========>>>catch signal %d (%s) i = %d <<<=========",
	signo, (char *)strsignal(signo), i++);
	printf("\nDump stack start...");
	DumpBacktrace();
	printf("\nDump stack end...");

}
예제 #2
0
파일: main.c 프로젝트: baiihcy/DevScerpt
void RegSignal()
{
	signal(SIGINT, SignalHander);
	signal(SIGSEGV, SignalHander);
	signal(SIGUSR1, SignalHander);
	printf("\nCurrent function calls list is: ");
	printf("\n----------------------------------");
	DumpBacktrace();
	printf("\n----------------------------------\n");

}
예제 #3
0
파일: main.c 프로젝트: baiihcy/DevScerpt
void SignalHander(int signo)
{
	printf("\n\n=========>>>catch signal %d (%s) <<<=========",
		signo, (char *)strsignal(signo));
	printf("\nDump stack start...");
	DumpBacktrace();
	printf("\nDump stack end...");
	/* 恢复并发送信号 */
	signal(signo, SIG_DFL);
	raise(signo);

}
예제 #4
0
파일: util.cpp 프로젝트: builden/node.cpp
 void Abort() {
   DumpBacktrace(stderr);
   fflush(stderr);
   ABORT_NO_BACKTRACE();
 }
예제 #5
0
파일: dump_backtrace.c 프로젝트: nico/hack
void demo(int n) { return n == 0 ? DumpBacktrace(0) : demo(n - 1); }