Renesas Synergy™

FAQ 106079 : デバッグ時、Cソースコードの任意の行にブレークポイントの設定ができない。

Q: 質問

デバッグ時、Cソースコードの任意の行にブレークポイントの設定ができません。

 


A: 回答

Cソースコードのデバッグ時、Cソースコードの任意の行にブレークポイントを設定出来ない場合があります。

例)

void main(void)
{
int a;
int i;
for ( i = 0 ; i < 10 ; i++ ){
a++;
}
}

最適化を有効にし上記プログラムをビルドします。
結果は、変数aへの代入が最適化により意味を成さない冗長なプログラムとみなされ該当行に対する命令コードが生成されません。
これによりCソースコードデバッグ時にa++行へのブレークポイントの設定ができません。
逆アセンブラ表示にてブレークを設定していただくか変数aに対して最適化の抑止をしてください。
最適化抑止のvolatile inta;と指定することでa++;の命令コードを生成しますのでブレークポイントを設定することが可能となります。

 

適用製品

SuperHファミリ用シミュレータデバッガ [High-performance Embedded Workshop対応]
H8SX,H8S,H8ファミリ用シミュレータデバッガ [High-performance Embedded Workshop対応]
SuperHファミリ用C/C++コンパイラパッケージ
H8SX,H8S,H8ファミリ用C/C++コンパイラパッケージ
他にご質問がございましたら、リクエストを送信してください