ページ ツリー

 コンテンツ

クロスモジュール解析(CMA) やマルチスレッド解析(MTA)によって検出される警告メッセージには、問題の発生箇所を1箇所に特定することができないものがあります。

これを multi-homed メッセージと呼びます。

・CMAによる警告メッセージの一覧は『クロスモジュール解析 (CMA) のメッセージ』をご覧ください

・MTAに警告メッセージの一覧は『マルチスレッド解析(MTA)のメッセージ』をご覧ください

※「multi-homed」の列に ○ が付いているメッセージがmulti-homed メッセージです


例えば、CMAによるメッセージ 1510 「外部結合をもつ 'name' が、複数個宣言されていますが互換性がありません。」は multi-homed メッセージです。

外部結合をもつ 'name' が宣言されている箇所が複数箇所あることが問題であり、問題の発生箇所を1箇所に特定することができないメッセージです。


multi-homed メッセージは、メッセージブラウザ上では、『サブメッセージ』を伴って出力され、サブメッセージが問題の発生原因の候補を示します。

メッセージブラウザ上では、検出された multi-homed メッセージの数がメッセージ数としてアクティブや合計にカウントされます。

例えば、メッセージ1510が1つ出力された場合、メッセージ数は1になります。


・QAC 8.2.2 / QAC++ 3.2.2 (PRQA Framework 1.0.5) 以降

 multi-homed メッセージは CMA ノード配下に出力されます。

 


・QAC 8.1.2 / QAC++ 3.1.0 以前 

 multi-homed メッセージは CMA 結果タブのクロスモジュール解析に出力されます。


注意

警告メッセージを csv、テキスト、html に出力する場合、multi-homed メッセージはサブメッセージが示す箇所に出力されます。

上の例の場合、1つの multi-homed メッセージ1510 に対して、サブメッセージ1594が3箇所出力されています。

この場合に警告メッセージを csv 等 に出力すると、サブメッセージが示す alloca.c の 139 行目、getopt.c の 47行目、getopt.c の 191 行目の3箇所にメッセージ1510が出力されます。

つまり、メッセージブラウザでは1件とカウントされている multi-homed メッセージが csv 等 に出力すると複数回出力されることになります。

従って、multi-homed メッセージの出力数は、メッセージブラウザと csv 等に出力した場合で異なります。