【发布时间】:2017-09-08 02:18:02
【问题描述】:
我正在使用 Eclipse CDT 调试 C 应用程序。一般来说,我可以在断点上走,也可以一步一步走。但问题是我无法分步查看变量。但是如果我想查看一个名为 path_list 的 char** 变量的内容,我会在变量窗口中看到这个错误:
Failed to execute MI command:
-data-evaluate-expression *(*(path_list))
Error message from debugger back end:
value has been optimized out
所以我尝试查看变量 path_list 的内存内容,但弹出错误消息:
有人知道这个问题以及如何查看 path_list 的内容吗?
【问题讨论】:
-
如果变量确实被优化了,即使在纯
gdb下你也无法获得它的值。您是否在没有优化的情况下构建程序(如 gcc -O2 标志)? -
在Project->Properties->C/C++ Build->Settings->GCC C Compiler->Optimization,配置了哪些优化级别和flags?
-
在 Project->Build Configurations->Set Active,你是在构建 Debug 版本还是 Release 版本?他们默认使用不同的优化选项。
标签: c eclipse debugging gdb eclipse-cdt