Oracle Solaris Studio 12.2:Fortran 用户指南

3.4.95 –traceback[={ %none|common|signals_list}]

如果执行过程中发生严重错误,则发出栈跟踪。

当程序生成某些信号时,-traceback 选项将使可执行文件向 stderr 发出栈跟踪,转储核心,然后退出。如果有多个线程生成信号,将仅为第一个线程生成栈跟踪。

要使用回溯,应在链接时将 -traceback 选项添加到编译器命令行。编译时也接受该选项,但除非生成二进制可执行文件,否则将忽略该选项。将 -traceback -G 结合使用来创建共享库的做法是错误的。

表 3–9 -traceback 选项

选项 

含义 

common

指定在出现以下常用信号集中的某个信号时发出栈跟踪:sigillsigfpesigbussigsegvsigabrt

signals_list

以小写形式指定生成栈跟踪的信号名称的逗号分隔列表。可以捕捉以下信号(导致生成核心转储文件的信号):sigquitsigillsigtrapsigabrtsigemtsigfpesigbussigsegvsigsyssigxcpusigxfsz

可以在任何这些信号的后面加上 no%,以禁止捕捉该信号。

例如:如果发生 sigsegvsigfpe-traceback=sigsegv,sigfpe 将生成栈跟踪和核心转储文件。

%nonenone

禁用回溯 

如果不指定此选项,缺省值为 -traceback=%none

单独的 -traceback(无值)表示 -traceback=common

注意:如果不希望生成核心转储,用户可以使用以下命令将其大小设置为零:


% limit coredumpsize 0            

-traceback 选项不影响运行时性能。