在內核中代碼調用過程難以跟蹤,上下文關係複雜,確實讓人頭痛 調用dump_stack()就會列印當前cpu的堆棧的調用函數了。 如此,一目瞭然的就能看到當前上下文環境,調用關係了 假設: 遇到uvc_probe_video這麼一個函數,不知道它最終是被誰調用到的,根據linux設備模型,初步推測,p ...
在內核中代碼調用過程難以跟蹤,上下文關係複雜,確實讓人頭痛
調用dump_stack()就會列印當前cpu的堆棧的調用函數了。
如此,一目瞭然的就能看到當前上下文環境,調用關係了
假設:
遇到uvc_probe_video這麼一個函數,不知道它最終是被誰調用到的,根據linux設備模型,初步推測,probe應該是設備適配驅動時匯流排輪訓到的。
也只能是猜測,也根本無法猜測是否是中斷上下文環境。
加入這條函數
再看列印,發現如下
原來並不是在適配設備啊,只是ioctl掉用的而已。