読者です 読者をやめる 読者になる 読者になる

いろいろ雑記

xv6をgdbでステップ実行

v6の動く環境が欲しいということで、深夜ラジオを聞きながらほげほげ
xv6なhow toなエントリを参考に

xv6をgdbで動かせるように環境を構築したのでそのログをば

OSはubuntu10.11

xv6のソースを取得

git clone git://pdos.csail.mit.edu/xv6/xv6.git

なにも考えずにmakeでいけました。

gdbでデバッグするためには下記のコマンドを叩く

make qemu-gdb

qemuのウインドウが立ち上がるのがお好きでない方用

make qemu-nox-gdb

gdb起動しても、xv6にアタッチできなくて悩んでいたけれど
makeしたのと同じディレクトリでgdbを起動したら、アタッチできました。


ここまではとくに問題なくいけたけれど、qemuが-gつきでコンパイルされてなかったので
ソースを取ってきて再コンパイル

./configure --prefix=/opt --target-list="i386-softmmu x86_64-softmmu"

xv6のMakefileを再コンパイルしたqemuに書き換える。

QEMU = /opt/bin/qemu-system-x86_64

んでmake-nox-gdbからのgdbで無事ブレイクポイントで止めれました!

(gdb) b *0x7c00

これでLions本を読みながらステップ実行などもいけるのかと楽しみ。
Lions本を読むならピュアなv6の方が良いと思う、simhでシミュレートする方法もあるとのこと

とりあえず、いまのところはこの環境で行こうかと思います。
ANSIなCしか読んだことないので、とっかかりには良いのかなー
読み進めてxv6では物足りなくなったころにsimhに挑戦してみよう。

我輩はオラねこである、設定はまだない。

自動生成なxmlsvnロックンロールのコンビにボコボコにされてOkinawa.rbで
メタプロRuby読んでるとき意識が半分飛びかけてた。

うーんおもしろそうなはなししてたのにもったいないわー

広告を非表示にする