我正在使用科学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 脚本以了解它实际上在做什么。