Linux カーネル モジュールをデバッグしています。それはデッドロックを引き起こし、私はその方法を理解しようとしています。vmware
+を使用してgdb
います。アイデアは、関数をフックし、バックトレースをファイルに記録することです。私は次のことを試しています:
(gdb) br _raw_spin_lock
Breakpoint 5 at 0xffffffff815eb700: file kernel/spinlock.c, line 136.
(gdb) commands 5
Type commands for breakpoint(s) 5, one per line.
End with a line saying just "end".
>silent
>bt
>continue
>end
しかし、continue
ここでは機能しません。私はそれを置き換えるbt
とecho 1
動作します。関数が呼び出されるたびに情報をログに記録する方法はありますか?
ありがとうございました。