なぜは常にkernel/kgdb.c:1749
から始まります。Linuxのカーネルの途中で "kgdb:remote ddbからの接続を待っています"という行です。kgdbはinit.cから遠く離れていますstart_kernel()
最初からやりたいです。
私の環境は次のとおりです。
- PC ubuntu10.10
- GDB-カーネルVirtualMachはからのヒントに続いてQEMU
あるbusyboxの
カーネル/ kgdb.c:1749「KGDB:リモートGDBからの接続を待っている」
ました私が会いたい機能start_kernel
からはるかに遠すぎます。
私は、次を使用しています:
qemu -kernel /usr/src/work/bzImage -append "root=/dev/sda kgdboc=ttyS0,115200 kgdbwait" -boot c -hda /usr/src/work/busybox.img -k en-us -serial tcp::4321,server gdb /usr/src/work/vmlinux (gdb) target remote localhost:4321
その後、私は-S
を追加するので、それは最初から開始することができます。しかし、私はgdb
それはまだ何かが間違っているとき。
コマンドnext
を入力すると、次の行に移動せず他の場所に移動します。たとえば、next
の後にブレークポイントをinit.c startkernel()
に設定します。他のファイルにあります。
http://blog.scottt.tw/2010/01/kgdb-tutorial.html –
thx ..私は試してみるつもりです – yueyue