その答えとは
デバッグビルド・システムコール法(勝手に命名)よりも、もうちょっとスマートなブレークポイント実現方法とは。
ハードウェアブレークポイントである。
このハードウェアブレークポイントの存在は下記の書籍で触れられていて初めて知った。
『解析魔法少女美咲ちゃんマジカルオープン!』(ASIN:4798008532)
でハードウェアというからには、CPUの機能に違いないと思い。
Intelのマニュアルを読んでみると、どうやらCPUにはデバッグサポート機能があるらしい。
分かってしまえば単純なことだが、きっかけがなかったらこんな機能を一生知ることがなかったかもしれない。
どうやらブレークポイント・アドレス・レジスタというものが4つあって、最高4つハードウェアブレークポイントの設定が出来るようだ
で、該当のブレークポイントの箇所になると例外が上がるようだ。
これは便利だ。何が良いかと言うと実行メモリイメージを全く改変することなくブレークポイントが設定できるのだ。
処理を一時停止したい場所で例外がが上がればあとは前回紹介したような方法でいろいろとデバッグが出来るのだ。
CPUってば奥が深いなぁ('∀`)