gdb - gdb 中的 <value optimization out> 是什么意思?

标签 gdb

(gdb) n
134   a = b = c = 0xdeadbeef + ((uint32_t)length) + initval;
(gdb) n
(gdb) p a
$30 = <value optimized out>
(gdb) p b
$31 = <value optimized out>
(gdb) p c
$32 = 3735928563

gdb 如何优化我的值?

最佳答案

这意味着您使用例如编译gcc -O3 和 gcc 优化器发现您的某些变量在某种程度上是多余的,因此可以将它们优化掉。在这种特殊情况下,您似乎有三个具有相同值的变量 a、b、c,并且大概它们都可以别名为单个变量。禁用优化进行编译,例如gcc -O0,如果您想查看此类变量(在任何情况下这对于调试构建来说通常都是一个好主意)。

关于gdb - gdb 中的 <value optimization out> 是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5497855/

相关文章:

c - C中运行时的变量名,函数参数

c++ - GDB 中没有函数名称的大型核心转储

c - gdb 调试器错误 : "-var-create: Unable to create variable object"

c - GDB 与 pthreads

python - 如何使用 python 和 pygdbmi 库暂停 GDB 运行

c++ - 远程调试问题

c++ - 什么是 strtol_l_internal?

c++ - 用于核心转储分析的 Gdb 脚本

c++ - 来自核心转储的异常回溯

c++ - 如何在 C++ 的 gdb 中为 operator() 设置断点?