2022/2/1

2022/2/2

製品
DT+Trace, DT10, DT10 AE, DT-Win
カテゴリー
トラブルシューティング
タグ
テストポイント
5 Q&A 5 テストポイント自動挿入でエラーが発生した。

テストポイント自動挿入でエラーが発生した。

テストポイントを自動挿入する際、エラーメッセージが表示される場合があります。
このトラブルシューティングでは、エラーが表示された際の対処法を紹介します

エラー01~07の場合

エラーの内容は以下の通りです

  • エラー01 : )、]の数が合わなくなった。 例: (,[ に対して、), ] が多いような場合。
  • エラー02 : ファイルの終端まで解析した時点で、関数が終わっていない。例: {が多いような場合。
  • エラー03 : #endifに対応する#if等がない。例: #endifが多いような場合。
  • エラー04 : #else/elifに対応する#if等がない。例: #else/elifが多いような場合。
  • エラー05 : }の数が合わなくなった。例: {に対して、}が多いような場合。
  • エラー06 : doに対応するwhileがない。例: do{}の後ろにwhileが見つからないまま{を検知した。
  • エラー07 : elseに対応するif等がない。例: if等のブロックが終了しているのにelseを検知した。
■エラー01の例
if(a > 1){
	#if 0
	if(a == 1){
		b = 1;   // ← } が無いため、整合性が取れません
	#endif
	if(a == 2){
		b = 1;
	}
}
1~7のエラーは、、コンパイルオプションなどで有効側・無効側での辻妻が合わなくなる場合や、無効側にコンパイルエラーがある場合などに発生します。
このような場合には、以下のような対処を行ってください。
1. ソースコードから、問題となるコードを変更してください。

外部エディタなどで、ソースコードの問題箇所を変更してください。

2. 無効コード定義ファイルを指定してください。

コンパイルオプションなどでソースコードを無効化している箇所で自動挿入できない箇所があると、エラーメッセージが表示されます。
その場合、無効コード定義ファイルを作成し、[自動生成ファイルの指定]ダイアログでそのファイルを指定してください。

無効コード定義ファイルについてはアプリヘルプやFAQを参考にしてください。

3. 自動埋め込みをせずに、手動埋め込みを行う。

ドキュメントビュー上から、テストポイントを手動挿入することも出来ます。

エラー08の場合

エラーの内容は以下の通りです

  • エラー08 : コメント以外の場所でマルチバイトコードを発見した。例: コメント以外の場所で日本語が出てきた場合。
■エラー08の例
#if 0
#define FOR_DOCUMENT /* このオプションを有効にするとエラーに
ドキュメントが吐かれる */
#endif
/* 関数実体定義 ——————–*/
#ifdef FOR_DOCUMENT
関数名 func_a
機能 サンプル用コード
引数 int arg_a
戻り値 void
変更履歴 2009.4.1
#endif
8のエラーは、コメント以外の場所で、日本語などのマルチバイトコードを検出した際に表示されます。
この場合、以下のような対処を行ってください。
1. ソースコードから、問題となるコードをコメントアウトしてください。

外部エディタなどで、ソースコードを変更してください。

2. 無効コード定義ファイルを指定してください。

コンパイルオプションなどでソースコードを無効化している箇所でコンパイルエラーがあると、エラーメッセージが表示されます。
その場合、無効コード定義ファイルを作成し、[自動生成ファイルの指定]ダイアログでそのファイルを指定してください。 無効コード定義ファイルについてはアプリヘルプやFAQを参考にしてください。

3. 自動埋め込みをせずに、手動埋め込みを行う

ドキュメントビュー上から、テストポイントを手動挿入することも出来ます。
ただし、この作業はテストポイントの挿入箇所が多い場合、とても非効率な作業になります。

エラー09の場合

エラーの内容は以下の通りです

  • エラー09 : cファイルをインクルードしているソースファイルに埋め込みを行おうとした。
9のエラーは、C/CPPファイルをインクルードしているソースファイルに埋め込みを行おうとした場合に表示されます。
DT10では、一つの翻訳単位で、複数のDT10生成ヘッダファイルをインクルードするとテストポイント情報の多重定義が生じるため、C/CPPファイルのインクルードを禁止しています。 また、複数のソースファイルをインクルードしていると、上記現象が発生するためにコンパイルエラーとなることがあります。
このエラーはインクルードされる側では発生しないため、本エラー発生時には注意が必要です。
このエラーが発生した場合、以下のような対処を行ってください。
1. ソースコードから、問題となるコードをコメントアウトしてください。

外部エディタなどで、ソースコードを変更してください。

2. 自動埋め込みをせずに、手動埋め込みを行う。

ドキュメントビュー上から、テストポイントを手動挿入することも出来ます。
ただし、この作業はテストポイントの挿入箇所が多い場合、とても非効率な作業になります。

エラー10の場合

エラーの内容は以下の通りです

  • エラー10 : 埋め込みを行ったソースファイルには、一つも関数が無い。または、埋め込みを行えるポイントが一つも存在しなかった。(ヘッダファイルのインクルードも行いません)
10のエラーは、埋め込み対象のテストポイントが存在しないことを示唆するメッセージです。RAMを定義するだけのソースファイルなどで発生する事があります。問題がなければ、無視してください。
また、埋め込み制限に全てのテストポイントが引っかかってしまった場合などにも発生する事があります。

このページの情報はお役に立ちましたか?
  • はい (0)
  • いいえ (0)
  • 探している内容ではない (0)