📄 mi-syn-frame.c
字号:
#include <signal.h>#include <unistd.h>#include <stdlib.h>void foo (void);void bar (void);void subroutine (int);void handler (int);void have_a_very_merry_interrupt (void);main (){ puts ("Starting up"); foo (); /* Put a breakpoint on foo() and call it to see a dummy frame */ have_a_very_merry_interrupt (); puts ("Shutting down");}voidfoo (void){ puts ("hi in foo");}void bar (void){ char *nuller = 0; puts ("hi in bar"); *nuller = 'a'; /* try to cause a segfault */}voidhandler (int sig){ subroutine (sig);}/* The first statement in subroutine () is a place for a breakpoint. Without it, the breakpoint is put on the while comparison and will be hit at each iteration. */voidsubroutine (int in){ int count = in; while (count < 100) count++;}voidhave_a_very_merry_interrupt (void){ puts ("Waiting to get a signal"); signal (SIGALRM, handler); alarm (1); sleep (2); /* We'll receive that signal while sleeping */}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -