linux - gdb 核心转储 : "value has been optimized out"

标签 linux gdb

在分析核心转储文件时,如何查看优化后的值? 有没有办法获取它们存储的寄存器?

最佳答案

如果您正在查看某个核心,其中某些值已被优化,如果可能已经太晚了。最简单的方法是您可以在启用调试的构建中定期重现核心。

但是,如果你做不到,我运气不错的一个技巧是进一步向上移动调用堆栈并尝试通过更多间接级别获取有趣的数据(例如,如果你向上移动调用堆栈调用堆栈,也许你需要的指针在内存位置,而不是在已经丢失的寄存器中。

关于linux - gdb 核心转储 : "value has been optimized out",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43727863/

相关文章:

java - 有没有办法从 Linux Shell 手动调用 Spring Quartz Job

linux - 使用 -v 选项反转多行 grep 结果,但 grep -A 不起作用

python - 使用 gunicorn 核心转储时 GDB 为空回溯

c - 如何检测 C 中的运行时堆栈粉碎/缓冲区溢出并使 gdb 能够以正确的消息正常退出。

gdb - 矮人错误 : wrong version in compilation unit header (is 4, 应该是 2)

c++ - 打破主要问题GDB

c - 进程终止后如何查看堆栈跟踪?

python - CentOS从Python2.4过渡到Python2.6,模块迁移问题

linux - 需要一些建议才能开始在 ARM(带 linux)平台上编程

linux 大括号而不是 if-then-else-fi do-done