機械制御/振動騒音
IR情報 会社情報

警告メッセージに関するFAQ

image_toyo_ss_img_qac_title_qac.gif.gif
警告メッセージに関するFAQ
image_toyo_ss_img_all_line_red.gif.gif
質問1. どの警告メッセージから使い始めるのがよいのでしょうか? QAC6.2J以上/QAC++2.1J以上 戻る
回答1. QA C/QA C++には、それぞれVersion 7.0J/Version 2.3.1Jから critical.p_s と いう名称のメッセージ・パーソナリティ(メッセージ・フィルタ)が付属する ようになっています。
このメッセージ・パーソナリティを使用すると、QA C/QA C++の開発元が選定した重要な警告メッセージのみが結果に現れるようになりますので、まずは こちらでONになっている警告メッセージをご利用になることをお勧めします。
image_toyo_common_spacer.gif.gif
なお、保守ユーザ様向け情報のページでは、QA C Version 7.0J/QA C++ Version 2.3.1J付属の critical.p_s をQA C Version 6.2J/QA C++ Version 2.1J向けにした critical.p_s を公開しています。 過去バージョンからの移行がお済みでない場合は、移行準備の一環として これらのメッセージ・パーソナリティをご利用ください。
image_toyo_common_spacer.gif.gif
また、同ページには警告メッセージをお選びいただくための参考資料も公開しています。是非そちらもご参照ください。
image_toyo_common_spacer.gif.gif
質問2. 警告メッセージのレベルは何を意味しているのでしょうか? QA C6.2J以上/QA C++全般 戻る
回答2. QA C/QA C++の各警告メッセージを最も粗く分類したものが、レベルになります。
QA C/QA C++には欠番も含めて 0番 から 9番 までの10種類のレベルが定義されています。レベルにはそれぞれ名前が付いていますが、QA C/QA C++の結果にはレベル の番号だけが記録されるようになっています。
image_toyo_common_spacer.gif.gif
レベルの番号に特に意味はありません。例えば、レベルの番号が大きいほど重要な警告メッセージが分類されているというわけではありません。
ただし、0番 には他の警告メッセージを補足する警告メッセージ、9番 には解析エラー に関する警告メッセージが分類されます。このため、通常は 0番 と 9番 に属する警告メッセージをすべてONにしてQA C/QA C++を使用することになります。
image_toyo_common_spacer.gif.gif
QA Cでは、同一の警告メッセージを2つのレベルに登録することができます。この場合、[最も高い警告レベルを表示]オプション(-stオプション)を使用することで、低いレベルと高いレベルのどちらを採用するのかを決めることができます。
image_toyo_common_spacer.gif.gif
質問3. 警告メッセージに警告箇所の情報を含めることはできますか? QA C6.2J以上/QA C++全般 戻る
回答3. 警告メッセージには次の情報を含めることができます。
  1. 警告箇所を含むファイルの名称
  2. 警告箇所の行番号(ファイル内の縦位置)
  3. 警告箇所の桁番号(ファイル内の横位置)
  4. 警告メッセージが属するレベル
  5. 警告メッセージの番号
  6. 警告メッセージの本文
  7. 警告メッセージの補足文
上記のうち、1 ~ 3が警告箇所の情報になります。
QA C Version 6.2J/QA C++ Version 1.5Jより前のQA C/QA C++では、標準状態で警告箇所の情報が警告メッセージに含まれるようになっています。
QA C Version 6.2J/QA C++ Version 1.5J以降のQA C/QA C++では、警告メッセージに含めたい情報を上記の中から自由に選択できるようになり ました。標準状態では警告箇所の情報が警告メッセージに含まれないので、メッセージ・フォーマット を適宜調整してご利用ください。
お使いのエディタがタグジャンプ機能をもって いる場合、メッセージ・フォーマットを調整する ことで、QA C/QA C++の結果から問題の発生箇所に即座にジャンプできるようになり、利便性が向上します。
image_toyo_common_spacer.gif.gif
なお、メッセージ・フォーマットの設定方法は次の通りです。
(専用の構文については、ユーザーズガイドをご参照ください)
image_toyo_common_spacer.gif.gif
GUIから設定する場合:
[メッセージ・パーソナリティ][表示] タブの
[メッセージフォーマット]に専用の構文を用いた値を記述します。
image_toyo_common_spacer.gif.gif
設定ファイルを直接編集する場合:
-format オプション に専用の構文を用いた値を記述します。
image_toyo_common_spacer.gif.gif
質問4. 9番のレベルに属する警告メッセージを非表示にすることができません。なぜでしょうか? QA C6.2J以上/QA C++全般 戻る
回答4. QA C/QA C++の9番のレベルには、解析エラーに関する警告メッセージが分類されています。
これらの警告メッセージが表示されなかったとすると、解析が正常に終了していないという事実に気づくことなく、QA C/QA C++の結果を レビューしてしまう可能性があります。
レビュー時間が空費されるだけでなく、間違ったレビュー結果を導き出してしまう可能性があるため、9番のレベルに属する警告メッセージは非表示にすることができなくなっています。
image_toyo_common_spacer.gif.gif
質問5. QA Cの一部のメッセージの先頭に付与されている記号([U]や[C])は何を意味しているのでしょうか? 戻る
回答5. QA Cの一部のメッセージの先頭に付与されている記号は、QA Cの次のグループ の略称を示しています。
image_toyo_common_spacer.gif.gif
記号 グループ(英名) グループ(和名)
[U] ISO Explicit Undefined behavior
Undefined behavior identified by CMA
明記された未定義の動作
CMA 未定義
[S] Syntax error シンタックスエラー
[C] Constraint error 標準制約違反
[E] Language Extension 言語拡張
[I] ISO Implementation Defined behavior 処理系定義
[u] ISO Implicit Undefined behavior 明記されていない未定義の動作
[L] ISO Limits 最小限界値を超過

これらのグループは、ISO C言語規格の未規定の動作、未定義の動作、処理系定義の動作、翻訳限界、文法違反、言語拡張に関わるメッセージになるため、 他のメッセージと区別するために記号が付与されています。
質問6. 注釈付きソースを表示すると、レベル99の'Unknown error'が表示されるのはなぜですか? image_toyo_ss_img_all_point_new.gif.gif 戻る
回答6. errファイルに生成されたメッセージ番号がメッセージ・ファイル(qac.msgなど)に存在しない場合に、この状況が発生します。MISRAモジュール、またはユーザ・メッセージ・ファイルを使用するその他の2次解析を使用している場合、メッセージ・パーソナリティが正しく設定されており、ユーザ・メッセージ・ファイルへのパスが正しいことを確認してください。
2次解析の設定に関して詳しくは、ユーザ・ガイドを参照してください。
製品をコマンドライン上で実行する場合は、ビューア、errdspなどの第一パラメータに正しくQACまたはQACPPを指定するようにしてください。
image_toyo_common_spacer.gif.gif

PAGE TOP