C GDB在内核中打印不正确的参数值
我正在用gdb调试Linux内核,断点工作正常 但当gdb中断时,传入的参数值不正确C GDB在内核中打印不正确的参数值,c,linux,debugging,gdb,kernel,C,Linux,Debugging,Gdb,Kernel,我正在用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和gcc-4.9测试了相同的结果。我也没有修改CFLAGS\u内核 也许是gdb问题?我使用的是7.7.1版 另外,我还尝试了多个内核源代码,3.12.8、
Breakpoint 4, XXX (a=0xb008, b=1, c=1, d=0x0, e=0) at XX.c:YY
是的,所有这些值都是错误的。我在XXX内核函数中添加了一些printk,并确认它是错误的。这不是数据格式问题
我已经用gcc-4.6和gcc-4.9测试了相同的结果。我也没有修改CFLAGS\u内核
也许是gdb问题?我使用的是7.7.1版
另外,我还尝试了多个内核源代码,3.12.8、3.4.0、2.6.32等。没有变化。这里没有足够的信息来了解问题所在。这可能是一个gdb问题,尽管从描述中我会说这更可能是一个调试信息问题。但是没有简单的方法可以判断,必须深入到调试信息、编译器发出的程序集和gdb源代码中才能确定错误所在