我正在使用Scientific Linux (SL)。我正在尝试编译一个使用一堆 C++ (.cpp) 文件的项目。
在目录中user/project/Build
,我输入make
以编译和链接所有 .cpp 文件。然后我必须去user/run/
然后输入./run.sh values.txt
要使用 GDB 进行调试,我必须转到user/run
然后键入gdb ../project/Build/bin/Project
并运行,我输入run -Project INPUT/inputfile.txt
. 但是,我正在尝试使用p variablename
.
但是,我收到了消息s1 = <value optimized out>
。我在网上做了一些研究,似乎我需要在没有优化的情况下编译-O0
来解决这个问题。但是我在哪里输入呢?在CMakeLists
?如果是这样,哪些 CMakeLists ?在project/Build
或project/src/project
?
我正在使用科学的 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 不是应该停在断点处吗?