タグ

macroとBreakPointに関するastk_fのブックマーク (1)

  • ブレークポイントコード | 闇夜のC++

    __asm int 3;これを見てピンと来た人は何人いるだろうか。 ああ、x86系CPU環境でブレークポイントと同じ効果をもたらすアセンブラコードだなーと思った人。正解ですが質的ではありません。 ああ、闇夜のc++とか言いながらついにネタ切れでc++の話以外を書き始めたなーと思った人。正解だし質的です。 xcodeやVisual Studioで以下のコードを実行してみましょう。 #include <cstdio> int main() { std::printf("abc"); __asm int 3; std::printf("def"); return 0; }int 3というアセンブラ命令はデバッガへのトラップ用の割り込みを発生させるので、5行目で勝手にデバッガがブレークします。 そこからステップトレースも、再実行も可能です。 マクロを作っておくと何かと便利です。 // 条件が成

  • 1