ページ ツリー

 コンテンツ

QAC 8.0 / QAC++ 3.0 以降のデータフロー解析(DFA)には"クエリタイムアウト"と"関数タイムアウト"の
2つのタイムアウトがあります。

ここでは【関数タイムアウト】について説明します。


QAC / QAC++ DFA は関数ごとに実施されます。

関数間解析を実施する場合でも DFA は関数ごとに実施されます。詳しくは『関数間解析』をご覧ください。


関数タイムアウトは"-prodoption"オプションを用いてミリ秒単位で設定します。

関数タイムアウト設定例:60秒にする場合

-prodoption df::function_timeout=60000

関数タイムアウトの設定値以内に DFA が完了しない場合、その関数に対して関数タイムアウトメッセージ(メッセージ 2755)が出力されます。

メッセージ 2755
関数'%1s'の解析時間が、設定された最大値'%2sms'を超えました。次の関数からデータフロー解析を続行します。

メッセージ 2755 が出力された場合、その関数に対して DFA は中止されています。
従って、その関数に対する『データフロー解析 (DFA) のメッセージ』は出力されません。

ただし、Constant カテゴリのメッセージなど、関数タイムアウトの発生前に検出された警告メッセージは出力される場合があります。

※メッセージ 2755 が出力された場合でも、その関数に対して DFA 以外の解析は通常通り実施されています
※メッセージ 2755 が出力された関数以外の関数に対しては DFA は実施されています