断点陷阱是否总是意味着程序是从调试器运行的?

时间:2019-08-20 11:42:39

标签: c++ gdb

我正在分析一个核心文件,内容为:

Program terminated with signal 5, Trace/breakpoint trap

从这一行可以确定这是由于程序在GDB下达到了断点吗?

是否有可能在调试器下未运行上述错误?

1 个答案:

答案 0 :(得分:3)

否,程序不需要在调试器下运行即可。

尝试运行程序,然后使用kill -n 5 myProgram(或等效地kill -s SIGTRAP)。它将向该程序发送SIGTRAP信号,这很可能导致其终止。如果它在此过程中产生了核心转储,则将显示您显示的消息。

或者,如评论中所述,该程序本身可能会发出该信号。