【问题标题】:GDB prints incorrect parameter value in kernelGDB 在内核中打印不正确的参数值
【发布时间】:2014-07-25 08:25:38
【问题描述】:

我正在用 gdb 调试 Linux 内核,断点工作正常。

但是当gdb中断时,传入的参数值不正确。

Breakpoint 4, XXX (a=0xb008, b=1, c=1, d=0x0, e=0) at XX.c:YY

是的,所有这些值都是错误的。我在 XXX 内核函数中添加了几个 printk,并确认它是错误的。 (不是数据格式问题)

我用gcc-4.6 and gcc-4.9 测试过同样的结果。我也没有修改CFLAGS_KERNEL

也许是 gdb 问题?我正在使用版本7.7.1

P.S 我也尝试过多个内核源代码,3.12.8、3.4.0 2.6.32 等。没有变化。

【问题讨论】:

    标签: c linux debugging gdb kernel


    【解决方案1】:

    这里没有足够的信息来了解问题所在。这可能是一个 gdb 问题,但从描述中我会说这更有可能是一个调试信息问题。但是没有简单的方法可以判断,必须深入调试信息、编译器发出的程序集和 gdb 源代码才能确定 bug 所在。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-28
      • 1970-01-01
      • 2018-06-25
      • 2012-01-12
      • 2015-04-06
      相关资源
      最近更新 更多