デバッガのハックは普通にするでしょ.

家族サービスで買い物に行ったついでのマックでクオータパウンダを頬張りながら,ぼんやり考えていた.
FT2232を使ったポッドでADIのJTAGポートをアクセスすると,UrJTAGがどうもバグるよなぁなんでだろ,とか.
最近のOpenOCDのOSX迫害はなんとかならんかなー,とか.



OS とか言語とか処理系の方は,わりとメジャーになってきて,いろんなものが出てきてるけど,デバッガはまだまだ特別な物なのかなと思います.自分が使いやすいデバッガをデザインしたり,既存のデバッガをハックして欲しい機能を追加したりするのが当たり前の世の中 (いつになるのかわかりませんが)になってくれば,また変わってくるのかもしれませんね.

当たり前の世の中だと思っていました.そうか違うのかー.


ちなみに弊社では,「こういう設計で,こういうコードを書いて,こういうコードが出れば理想的だが,既存のコンパイラは欲しいコード出してくれないし,既存のデバッガではデバッグが非常に困難になる」 というような場合,デバッガは当然のこととしても,最近ではコンパイラにまで手を入れるのが普通という流れになってきているので,他の会社とはプログラミングに対する概念がかなり根本的に違うなーということをよく感じます (他の会社知らないけど,あんまり聞かない気がします).

これも世間の常識だと思っていました.そうか違うのかー.
GreenHillsがIntegrityを出してきたのも,VRTX Works(開発環境)がいつのまにかVxWorks(カーネル)になっちゃったのも,OSとコンパイラが不可分であることの証左だろうし.これらはデバッガも不可分だし.
TOPPERSの開発者が雑談していると,「コンパイラ/言語まで手を出したくせれば楽だけれど,それはそれで地獄の道だよね」みたいな話は良く出て来るし.FMPカーネルはデバッガのサポート無しにはアプリ開発は困難だろう,とか.TECSは言語に手を出したが,デバッグどうするんだろうなぁ,とか.
私が勤めている会社のような吹けば飛ぶよな零細でも,普通にGCCGDBには手を加えてるしなぁ.


まあ,最近の私は,とある業界向けのデバッガチェインのプロジェクトに一枚噛んでいて,APIマニュアルを作成しながらこの日記を書いている.だからまあ,プロだから当然というところはあるのだけれど.
こうなるずーっと前,カーネル屋さんになるさらに前から,デバッガもコンパイラもhackの対象だったように思うんだよね.


当たり前だと思うし,当たり前じゃないといけないとも思うんだよなぁ.
ITの世界では何故か意識が低いのだけれど,他の職人芸の世界では,ジグの修理くらい自分でできなきゃ,半人前以下の扱いしか受けられないって聞くし.