3.4.92 –traceback[={%none|common|signals_list}]
如果执行中出现严重错误,将发出堆栈跟踪。
当程序生成某些信号时,-traceback 选项会导致可执行文件向 stderr 发出堆栈跟踪、转储信息并退出。如果多个线程都生成一个信号,则只为第一个生成堆栈跟踪。
要使用回溯,请在链接时将 -traceback 选项添加到编译器命令行中。编译时也接受该选项,除非生成可执行二进制文件,否则将忽略此选项。使用 -traceback 和 -G 创建共享库是个错误。
表 3-9 -traceback 选项
|
|
common
|
指定应在出现以下任意一组常见信号时发出堆栈跟踪:sigill、sigfpe、sigbus、sigsegv 或 sigabrt。
|
signals_list
|
指定应生成堆栈跟踪的信号名称的逗号分隔列表,采用小写形式。可以捕捉以下信号(导致生成信息转储文件的信号):sigquit、sigill、sigtrap、sigabrt、sigemt、sigfpe、sigbus、sigsegv、sigsys、sigxcpu、sigxfsz。
可以在上述任一信号前加上 no% 以禁用信号缓存。
例如:如果发生 sigsegv 或 sigfpe,-traceback=sigsegv,sigfpe 将生成堆栈跟踪和信息转储。
|
%none 或 none
|
禁用回溯
|
|
如果不指定该选项,则缺省值为 -traceback=%none
单独的 -traceback(无值)表示 -traceback=common
注意:如果不需要信息转储,用户可以使用以下方法将 coredumpsize 限制设置为零:
% limit coredumpsize 0
-traceback 选项不影响运行时性能。