如何使用gdb调试g ++分段错误?

Ант*_*тон -2 c++ debugging gdb

运行程序时出现段错误。然后,我搜索了我的问题,并尝试遵循https://www.gnu.org/software/gcc/bugs/segfault.html中的步骤。

我没有配置GCC,--enable-checking那么我的第一个问题是-

1)是否需要对其进行配置和编译-v -da -Q

但是我总是使用诸如的标志进行编译-g -o0。在带有参数的GDB中运行程序后,我得到以下信息:

gdb_screenshot

2)segfault后无法打印变量,可以吗?

3)如何找出发生段错误的源代码行?

Emp*_*ian 6

然后,我搜索了我的问题,并尝试执行> https://www.gnu.org/software/gcc/bugs/segfault.html中的步骤。

这些是GCC 开发人员在编译程序时崩溃时要遵循的步骤。

这些不是调试程序本身中的崩溃时应遵循的步骤。

相反,请阅读此内容

如何找出发生段错误的源代码行?

GDB 告诉你这行:这是common/search.cpp第172行。