IGRTMIN+7 42) SIGRTMIN+8
43) SIGRTMIN+9 44) SIGRTMIN+10 45) SIGRTMIN+11 46) SIGRTMIN+12 47) SIGRTMIN+13
48) SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-14 51) SIGRTMAX-13 52) SIGRTMAX-12
53) SIGRTMAX-11 54) SIGRTMAX-10 55) SIGRTMAX-9 56) SIGRTMAX-8 57) SIGRTMAX-7
58) SIGRTMAX-6 59) SIGRTMAX-5 60) SIGRTMAX-4 61) SIGRTMAX-3 62) SIGRTMAX-2
63) SIGRTMAX-1 64) SIGRTMAX
jjj-pc:~$
查看刚才运行程序的进程号,并给该进程发送段错误信息。
jjj-pc:~$ ps aux |grep demo
jjj 2056 0.0 0.0 240000 4744 ? Sl 6月07 0:00 /usr/libexec/geoclue-2.0/demos/agent
// 我们的程序路径就是 /home/jjj/pj/dir1/
jjj 3119734 0.0 0.0 2356 588 pts/1 S+ 19:57 0:00 /home/jjj/pj/dir1/demo
jjj 3119754 0.0 0.0 12120 720 pts/6 S+ 19:57 0:00 grep --color=auto demo
// 给进程发送段错误的信号
jjj-pc:~$ kill -11 3119734
gdb 接收到信号,于是中断如下:
Starting program: /home/jjj/pj/dir1/demo
Program received signal SIGSEGV, Segmentation fault.
0x00007ffff7e991e4 in clock_nanosleep () from /lib/x86_64-linux-gnu/libc.so.6
(gdb)
在使用GDB(GNU调试器)运行一个带有调试信息的程序时,除了程序发生段错误导致GDB中断之外,还有其他一些场景可能导致GDB中断:断点、手动暂停(按下Ctrl+C
键)、接收信号(如SIGINT)、异常情况。