[gcc] ブレイクできないところにブレイクポイントを作る

下記のようにコンパイラの最適化で省略される個所にブレイクポイントを設定できないことがあります。

解決方法

上記のようにインライン・アセンブラでNOP(Non-Operation)コマンドを挿入することで強制的にブレイクポイントを設定できるコードを挿入します。

上記はGCCの例ですが、多くのコンパイラでインライン・アセンブラの書式が用意されているので、同じようなテクニックが利用できます。