2008-10-01から1ヶ月間の記事一覧
いつまでもはてなの上に書いているわけにいかないので、Sourceforgeを使って公開しておきました。http://sourceforge.net/projects/stapgames/今のところマインスイーパぐらいしかまともなゲームがないですが、今後増やしていく予定です。 コードはsvn経由で…
ライフゲームでは、プログラム上で指定した初期値から動きつづけるプログラムでしたが、実際に遊べるゲームを作るには、ユーザからの入力をとらえる必要があります。
qemu(及びkvm)のハードディスクイメージを直接ホストでマウントするには、イメージ先頭のヘッダをスキップすればいいらしい。Wikiaに載っていた。 mount -o loop,offset=32256 hd.img /mnt offsetというオプションがあったのか・・・。ググればいいんだけど…
昨日気づいたのですが、Ubuntuのカーネルデバッグ情報パッケージ(kernel-image-debug)には、カーネル自体のデバッグ情報は入っていますが、カーネルのドライバ(モジュール)のデバッグ情報は入っていないようです。
Systemtapのプログラム例として、できるだけ役に立たなさそうなものを選んでみました。 今回取り上げるのはライフゲームです。非常に単純なルールなので、わかりやすく、かつ(実用上)役に立ちません。 ライフゲームの基本的なルールは、Wikipediaによると 碁…
今日はSystemtapの最新版を、ソースコードからインストールする方法(FedoraとUbuntu)について説明します。 Ubuntu 身も蓋もない言い方をすれば、Wikiを参照してください。
Systemtapのコマンド自体あまり知られていないですが、Systemtapを使う上でのTipsを紹介します。 プローブポイントからアクセスできるローカル変数一覧を知る 裏技的ですが、エラーメッセージから、どういう変数があるかが分かります。
前回の例でも使っていましたが、Systemtapにはあらかじめいくつかの関数が定義されています。これらの関数のほとんどは、Tapsetというスクリプトライブラリで定義されています(一部の関数は組み込み関数です)。オンラインマニュアルを引けば、Systemtapが…
Systemtapは、端的に言えばカーネルを対象とした(最新のものだとユーザプロセスも対象にできますが)プログラマブルなデバガです。基本はブレークポイントを埋め込んで、その箇所の情報(ローカル変数など)を取ってきてあれこれするのに使います。例えば、以下…
Systemtapについてはプロジェクトのページを見てください。基本的にはLinux上で使えるSunのDtraceのような機能です。WikiページにはFedoraやUbuntuにインストールする方法が書いてあります。パッケージでインストールするだけではダメなのは、カーネルのデバ…