gdb 程序总是以代码 01 退出

gdb 程序总是以代码 01 退出

我正在使用科学linux。我正在尝试编译一个使用一堆 cpp 文件的项目。现在,它编译成功,但我得到的值/数据肯定是错误的。

在该目录中user/project/Build,我输入 make 来编译并链接所有 cpp 文件。然后我必须去user/run/然后输入./run.sh values.txt

当我进入目录/user/project/Build/bin然后键入gdb project并设置断点时,没有问题。但当我跑步时,我总是看到Program exited with code 01。我是否在 main.cpp 或其他源文件中设置断点并不重要。 gdb不是应该停在断点处吗?

答案1

我认为你可以使用这个技巧。

在退出时设置断点。

数据库..

乙出口

跑步 ..

BT

这样你就可以知道 main 在哪里调用退出函数

答案2

user/run/run.sh据推测(给出名称)是一个 shell 脚本,用于设置程序运行所需的内容。可能的事情是设置环境变量和传递命令行参数。要在 GDB 中设置环境变量和命令行参数,请使用

set args = arg1 arg2
set env VAR1 = value1
set env VAR2 = value2

阅读 shell 脚本以了解它实际上在做什么。

相关内容