通常のブレークポイントを挿入すると、コンパイルされたコードがわずかに変更される可能性があることは知っていますが、これはデータ ブレークポイントにも当てはまりますか? コードで論理的に「インライン」に配置する方法がわかりません。
質問する
389 次
2 に答える
4
私が知る限り、ブレークポイントはコンパイルされたコードを変更しておらず、通常のコードもデータブレークポイントも変更していません。
プログラムはコンパイラを使用してコンパイルされ、デバッガはコンパイルされた実行可能ファイルを使用して実行されます。
変更されるコードはメモリ内コードです。デバッガーは実行可能ファイルをメモリにロードし、そこでコードを変更します。
于 2012-10-01T16:41:23.377 に答える
1
「変数ウォッチ」または「メモリブレークポイント」を参照している場合、変数またはメモリの領域が変更された場合にデバッガにブレークを要求している場合、CPU にそのメモリアドレスを監視するように要求することによって実現されます /すべての書き込みアクセスの範囲、およびデバッガーに割り込んで、書き込みごとにブレークするかどうかを決定できるようにします。(CPU/デバッガーがこれを正確に達成する方法については、私は知りません。
これにより、メモリの内容やメモリ内の実行可能コードが変更されることはありません。
于 2012-10-01T17:05:34.393 に答える