C++ 如何知道Linux程序崩溃时的地址?
我有一个在Linux上运行的程序,它神秘地崩溃了。我已经知道一种知道它在哪里崩溃的方法是使用GDB。但我不想每次重新启动它时都附加到它上(因为我正在测试它,所以经常这样做)。有其他方法吗?您可以将操作系统配置为在程序崩溃时转储核心文件。然后,您可以检查内核以确定崩溃位置。您可以将操作系统配置为在程序崩溃时随时转储内核文件。然后可以检查内核以确定崩溃位置。首先执行C++ 如何知道Linux程序崩溃时的地址?,c++,linux,gdb,centos,C++,Linux,Gdb,Centos,我有一个在Linux上运行的程序,它神秘地崩溃了。我已经知道一种知道它在哪里崩溃的方法是使用GDB。但我不想每次重新启动它时都附加到它上(因为我正在测试它,所以经常这样做)。有其他方法吗?您可以将操作系统配置为在程序崩溃时转储核心文件。然后,您可以检查内核以确定崩溃位置。您可以将操作系统配置为在程序崩溃时随时转储内核文件。然后可以检查内核以确定崩溃位置。首先执行ulimit-c unlimited,这样程序将留下内核转储。 然后,当它崩溃时,使用核心转储调用gdb,以读取 崩溃时程序的状态。首先
ulimit-c unlimited
,这样程序将留下内核转储。
然后,当它崩溃时,使用核心转储调用gdb
,以读取
崩溃时程序的状态。首先执行一个
ulimit-c unlimited
,这样程序将留下一个内核转储。
然后,当它崩溃时,使用核心转储调用gdb
,以读取
崩溃时程序的状态。首先使用
ulimit-c unlimited
允许崩溃的程序写入内核转储
程序崩溃后,您将找到一个核心转储文件,名为core
,如果您的程序是多线程的,则可能是core.
您可以将其加载到GDB中,使用
GDB program core
检查崩溃点的状态,首先使用ulimit-c unlimited
允许崩溃程序写入内核转储
程序崩溃后,您将找到一个核心转储文件,名为core
,如果您的程序是多线程的,则可能是core.
您可以将其加载到GDB中,以在启用GDB标志的情况下编译代码,从而检查崩溃点的状态 gcc-o
下面是一个很好的gdb快速指南:->在启用gdb标志的情况下编译代码 gcc-o
这里有一个很好的gdb快速指南:是的。我的打字错误。我会修好的。我的打字错误。我会修好的。