デバッグ情報と最適化レベル「高」
テクニカル・ノート 62015
アーキテクチャ:
ARM
コンポーネント:
debugger
更新日:
2018/02/02 8:13
はじめに
このテクニカルノートは 、最適化レベルが「高」の時、C-SPY のどの情報が信頼できるか(そして信頼できないか) を説明します。
背景
IAR C / C ++コンパイラの最適化システムは、できるだけ小さなコードおよび/あるいは早いコードの作成を目指すさまざまな部分で構成されています。これらの部分を有効にすることで、コンパイラが生成するデバッグ情報の信頼性が低下します。
信頼できる情報
ターゲットシステムから収集した情報を表示するC-SPY ウィンドウからは信頼できる情報が得られます。たとえば次のウィンドウ:
- 逆アセンブリ ウィンドウ
- メモリ ウィンドウ
- レジスタ ウィンドウ
- スタック ウィンドウ
- コールスタック ウィンドウ
(多くの場合において)信頼性の高い情報
これらのウィンドウはほとんどの場合信頼性できますが、書き込みが最適化のため移動しているかもしれません。つまり、値の書き込みがまだ行われていない可能性があります。これは、たとえば次のウィンドウに適用されます:
- 静的変数 ウィンドウ
- シンボルメモリ ウィンドウ
- シンボル ウィンドウ
信頼性の低い情報
デバッグ情報に基づく情報を表示するC-SPYウィンドウは信頼性が低くなります。たとえば、次のウィンドウ:
- ウォッチ ウィンドウ
- ローカル ウィンドウ
- 自動 ウィンドウ
- ライブウォッチ ウィンドウ
- クイックウォッチ ウィンドウ
追加情報
詳細は、ヘルプメニュー > C-SPY デバッグガイド、「最適化の影響」章、ヘルプメニュー > C/C++ 開発ガイド「最適化レベル」章をご参照ください。
全ての製品名は、それぞれの所有者の商標または登録商標です