我在linux內核中得到一個NULL指針解引用問題。在PC上使用addr2line我可以在代碼中獲得行號。但是這個oops發生的行是一個雙指針解引用。內核在雙指針解引用哎呀
eg. xx->yy->zz
這裏我們將xx和xx-> yy在一行中解除引用。
addr2line -f -e vmlinux c03200f8
func
lmn/uva/hello.c:101
101: if(xx->yy->zz==hello)
那麼如何知道哪個字段是NULL xx或xx-> yy?
_尋求調試幫助的問題(爲什麼這個代碼不工作?)必須包含所需的行爲,特定的問題或錯誤以及在問題本身中重現問題所需的最短代碼。沒有明確問題陳述的問題對其他讀者無益。請參閱:如何創建[mcve] ._ –
請至少顯示您的調試/調試工作。請先閱讀[問]頁面。 –
您在取消引用指針之前檢查它*嗎?就像'if(xx!= NULL){...}'? –