首页 > 解决方案 > function.part.10 在 GDB 环境中是什么意思?

问题描述

我正在使用 C++ 开发一个存在 SegFault 问题的项目。该项目非常大,有很多.hpp 和类等。所以,我正在尝试使用GDB 来调试我的代码。当我在 GDB 终端中运行它时,代码会一直运行直到它到达 SegFault。因此,GDB 向我返回以下消息:

Thread 1 "uclcl_param_est" received signal SIGSEGV, Segmentation fault.
0x00005555556ea9bb in classExtractPerturbation.part.10 ()

我知道那是什么功能,以及在哪个类和文件夹中,但我期待 GDB 也告诉我我有问题的那一行。此外,当我使用命令“list”时,GDB 会返回以下消息:

(gdb) l
1   <built-in>: No such file or directory.
(gdb) 

我不知道具体如何解释这一点。有人可以帮忙解释一下吗?在互联网上,我找到了只有一个 .cpp 文件的简单代码的 GDB 指南,但就我而言,它有很多。

标签: c++segmentation-faultgdb

解决方案


我期待 GDB 也告诉我我有问题的地方

GDB 只会告诉你文件和行IFF你已经用文件/行调试信息编译了你的代码。通常这是通过-g标志(生成完整的调试信息)实现的,但-gmlt如果您只对文件/行信息(而不是变量和参数)感兴趣,也可以使用。

function.part.10 在 GDB 环境中是什么意思?

GDB 与此无关——编译器发出了一个符号classExtractPerturbation.part.10,而 GDB 只是告诉你崩溃的地方。

您可以阅读.part.10 此处的含义。


推荐阅读