【问题标题】:gdb debug using eclipse CDT: not able to show correctly varibles values使用 Eclipse CDT 进行 gdb 调试:无法正确显示变量值
【发布时间】: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


【解决方案1】:

确保使用 -g 和 -O0 选项编译代码。默认编译器不使用 -O0。

【讨论】:

猜你喜欢
  • 2015-04-06
  • 2010-12-07
  • 2013-01-18
  • 2015-11-12
  • 1970-01-01
  • 1970-01-01
  • 2015-06-13
  • 2013-04-01
  • 2012-02-18
相关资源
最近更新 更多