gpt4 book ai didi

linux - 调试linux内核时如何避免 "optimized out"

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:19:28 24 4
gpt4 key购买 nike

我正在使用两个 Linux 虚拟机在 Mac (VMWare Fusion) 上调试 Linux 内核。

我已经安装了 kernel-debuginfo-3.10.0-327.36.3.el7.x86_64 并且 debugStub 可以正常工作。

enter image description here

然后我在 fchown 系统调用上添加了一个断点,它中断了,

Breakpoint 10, SYSC_fchown (group=0, user=0, fd=<optimized out>) at fs/open.c:650

但是我无法读取fd.file,这个值被优化掉了,

enter image description here

有什么想法吗?

最佳答案

But I can't read fd.file, the value is optimized out

调试优化代码时经常会发生这种情况。

您最好的选择可能是反汇编 例程。对于像这样的小例程,通常不难判断值在哪个寄存器中,然后就可以转换为正确的类型。例如。如果值在 $r9 中:

(gdb) p *(struct file *)$r9

关于linux - 调试linux内核时如何避免 "optimized out",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45645515/

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