Repo

kjana00@gmail.com

older <-

2010-11-10 00:37:38

今朝は薄ぐもり。朝ごはんはパンとソーセージとゆでたまごとサラダ。出掛ける頃にはすっかり晴れ渡っているわけだけど、ああいうのは本当に薄ぐもりでいいんだろうか……と思いつつ、晴れと言い切るのもはばかられる今日この頃。ちょっと気温下がり目かな。

また資料読みかと思ってたところで、他人事として耳に入っていた話が自分の作業として降ってくる。まあ、暇だ飽きたいいながら読み物っていうよりはいいけど。で、何をするかというと、ツールの設定ファイルを書く下準備的に変数の情報をどうにか集めるという話だったりする。変数って言っても単にシンボルがわかればいいわけじゃないんだけど。構造体の配列だったら各要素の各フィールドについてオフセットの算出まで含む。型も当然見たい。大きさだけでいいとはいえ。分解能とゲタ的なスケーリングパラメータも取れたらいいけど、それはさすがに機械的に集めるのは無理だよねっていうことで対象外。まあ出来る限りで構わないっていう話。適当にやったら後は手作業の人海戦術だろうねって。

とりあえず、.map ファイルから各シンボルのアドレスは取れるはずだからっていうことでプログラムをビルド……しようとしてちょっと悩んでみたりする。.bat ファイルで作れるようになってるけど、選択出来るターゲットの中に、これから情報を集めようとしてるやつが無いように見える。聞いてみたら正解は .bat ファイルの整備までしてなくて、今は元にしたターゲットを選べばいいようになってる、だった。

それで .map ファイルを見てると何かシンボルが少ない。static 変数が見えてないんだな。それで、多分 static 変数も見たいって言われるんだよね……ということで調べてみる。.map ファイル生成のオプションなんかじゃないわけだ。でも別の仕事で同じ開発環境を使って作った時には static 変数も含んだ .map ファイル出来なかったっけ? ……ああ、デバッグシンボルか、これ。……ということでシンボルとアドレスは得られた。ここからどうしようね? とりあえず base+size で示されてる領域にシンボルのアドレスが落ちてたら対応するファイル名をおまけに付けるようにして…… .map ファイルいじって出来るのはこれぐらいまでかな。

デバッグ情報のファイルをツールでダンプしてみると、データに割り振られたシンボルの型と次元が見えるのが判明。それじゃスカラー型の配列ぐらいまでは完全に自動で必要な情報を得られるわけだね、ということでごちゃごちゃいじる。Cygwin の Ruby で system 使って Windows Console 用の .exe ファイルを走らせるのは問題無くても、出力をリダイレクトしようとすると cmd.exe の仕様で面倒臭いわね、ということで WORKDIR に Dir.chdir して作業するようにしてみたりして。あんまり凝ってもしょうがないし。……あれ? 今考えたら cmd.exe の仕様は関係無いはずか。何が悪かったんだろ? まあ、代替手段で動かしたからいいんだけど。

とりあえずある程度シンボルとその型情報を取り出せるかな、ぐらいで終わっておく。型情報の解釈がちょっと面倒臭い。"Array of Array of const C Long [0..8][0..8]" なんていう文字列を解釈しなきゃならない。まあ正規表現で引っ掛けつつ再帰呼び出しっていう程度で多分大丈夫なんだけど。構造体だの共用体だのについては後で考えるさ……

そんな感じで帰る。晩ごはんはかつおのたたきととろろ昆布のつゆ。鍋にしようかと思ってたけど、ふとかつおもそろそろおしまいかな、なんて思ってしまったもんで。それで表に出て温度計を見たら 13 ℃ とかで、昨日は 20 ℃ だったんだけどと思うと微妙に後悔しなくもない。まあ、かつおおいしいし、言う程寒いわけでもないんだけど。特に部屋の中では。

WWW 見てゲームして、と。やっぱりすぐに森でも 26 階まで潜ってしまった、ということでモリバントの 25 階レベルクエストを三つ片付けてみた。楽に勝ったといっていい内容ではあったけど、収穫が何も無かったというのがとても残念。もうちょっと何かいいもの出てくれないものかね。

older <-

goto

hint can be:

Tags

old

2007-05 -- 2006-12

ゲーム関係の古い記録

before 2005-12