gpt4 book ai didi

c++ - GDB/DDD 当前上下文中没有符号

转载 作者:行者123 更新时间:2023-11-30 05:24:07 26 4
gpt4 key购买 nike

我找到了这个问题的旧解决方案,建议使用 -gdwarf-2 进行编译,但此解决方案对我不起作用或不再起作用。

因此,在已编译文件上运行 ddd 然后双击变量总是会导致错误 no symbol <var> in current context

我的程序是这样的:

int main()
{
for (int i = 0; i < 10; ++i)
{

}
}

我使用的命令是这些:

 g++ -g -O0 -gdwarf-2 test.cpp; ddd. ./a.out

程序的版本:

ddd: GNU DDD 3.3.12 (x86_64-pc-linux-gnu)
gdb: GNU gdb (Ubuntu 7.7.1-0ubuntu5~14.04.2) 7.7.1
gcc: gcc version 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04.3)

我怎样才能让它工作?

最佳答案

为了打印/显示变量,它们必须在范围内,因此对于局部变量/参数,这意味着您必须在该范围内的断点处。

我可以通过使用您的示例程序启动 ddd 并立即尝试打印/显示 i 来重现您遇到的错误。

一旦我在 for 行设置断点并运行程序,我就能够按预期打印/显示它们。

我编译了:

g++ -Wall -O0 -ggdb -o test.exe test.cpp

并用

运行ddd
ddd ./test.exe

我有

GNU DDD 3.3.12 (x86_64-pc-linux-gnu)
GNU gdb (Ubuntu 7.11.1-0ubuntu1~16.04) 7.11.1
gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.1)

关于c++ - GDB/DDD 当前上下文中没有符号 <var>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38816668/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com