2022/2/1
2022/2/2
製品
DT+Trace, DT10, DT10 AE, DT-Win
カテゴリー
トラブルシューティング
タグ
テストポイント
1955 Views
テストポイント自動挿入でエラーが発生した。
テストポイントを自動挿入する際、エラーメッセージが表示される場合があります。
このトラブルシューティングでは、エラーが表示された際の対処法を紹介します
このトラブルシューティングでは、エラーが表示された際の対処法を紹介します
エラーリスト
- エラー01 : “()””[]”のペアの数が一致しません。”(“に比べて”)”の数が多い可能性があります。
- エラー02 : 予期せぬEOFを検出しました。”}”に比べて”{“の数が多い可能性があります。
- エラー03 : ペアとなる#ifが見つからない”#endif”を検出しました。コードの体裁に問題があります。
- エラー04 : ペアとなる#ifが見つからない”#else/#elif”を検出しました。コードの体裁に問題があります。
- エラー05 : “{}”のペアの数が一致しません。”{“に比べて”}”の数が多い可能性があります。
- エラー06 : “do”の構文に合わなくなりました。コードの体裁に問題があります。
- エラー07 : “if”の構文に合わなくなりました。コードの体裁に問題があります。
- エラー08 : 不正なコードを検出しました。コメント外部に0x80-0xFFのコードがある場合、コメント・文字リテラル・文字列リテラル外部に”や’等が存在している可能性があります。
- エラー09 : “.c””.cpp”ファイルのインクルード命令を検出しました。
- エラー10 : テストポイント挿入可能箇所は見つかりませんでした。
- エラー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の例
#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 : cファイルをインクルードしているソースファイルに埋め込みを行おうとした。
9のエラーは、C/CPPファイルをインクルードしているソースファイルに埋め込みを行おうとした場合に表示されます。
DT10では、一つの翻訳単位で、複数のDT10生成ヘッダファイルをインクルードするとテストポイント情報の多重定義が生じるため、C/CPPファイルのインクルードを禁止しています。 また、複数のソースファイルをインクルードしていると、上記現象が発生するためにコンパイルエラーとなることがあります。
このエラーはインクルードされる側では発生しないため、本エラー発生時には注意が必要です。
このエラーが発生した場合、以下のような対処を行ってください。
DT10では、一つの翻訳単位で、複数のDT10生成ヘッダファイルをインクルードするとテストポイント情報の多重定義が生じるため、C/CPPファイルのインクルードを禁止しています。 また、複数のソースファイルをインクルードしていると、上記現象が発生するためにコンパイルエラーとなることがあります。
このエラーはインクルードされる側では発生しないため、本エラー発生時には注意が必要です。
このエラーが発生した場合、以下のような対処を行ってください。
1. ソースコードから、問題となるコードをコメントアウトしてください。
外部エディタなどで、ソースコードを変更してください。
2. 自動埋め込みをせずに、手動埋め込みを行う。
ドキュメントビュー上から、テストポイントを手動挿入することも出来ます。
ただし、この作業はテストポイントの挿入箇所が多い場合、とても非効率な作業になります。