2014-07-25 64 views
0

我正在用gdb調試Linux內核,斷點工作正常。GDB在內核中打印不正確的參數值

但是當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等沒有變化。

回答

0

沒有足夠的信息來了解問題所在。這可能是一個gdb問題,雖然從描述我會說它更可能是一個調試信息問題。但是沒有簡單的方法可以告訴,必須深入調試信息,編譯器發出的程序集以及gdb源代碼才能確定錯誤所在。