タブ:スタック使用量
タスク設定エディターのタブ
ザル スタック使用量 タブには、各アプリケーション、各タスク、最大コールスタック内の POU の現在のスタック使用量が表示されます。
情報を表示するための要件:アプリケーションコードが生成されました。これは、コントローラーへのログイン時に自動的に行われるか、コントローラーを使用して明示的に行われます。 ビルド → コードを生成 コマンド。
ターゲット設定からデフォルトのスタックサイズをオーバーライドする | 重要のスタックサイズの上書き 使用可能なスタックサイズ はエキスパート関数です。 この入力フィールドは、ここでオプションを有効にして表示されるメッセージを確認した場合にのみ使用できます。このメッセージは、スタックオーバーフローのリスクがある可能性があることを示しています。例外エラーが発生する可能性があります
|
| ボタンをクリックすると、の値がリセットされます 使用可能なスタックサイズ デフォルトのスタックサイズに戻します。デフォルトのスタックサイズはデバイスの説明で定義されています。 |
使用可能なスタックサイズ | 使用可能なスタックサイズ (バイト単位) 例: 最大スタックサイズはデバイスの説明で指定されています。このデフォルトのスタックサイズが読み込まれ、使用可能なスタックサイズとして適用されます。 以下の場合、値を変更できます。 デフォルトのスタックサイズをターゲット設定からオーバーライドします。 オプションが有効になっています。 コンパイラーは、コンパイル中にアプリケーションの最大スタック使用量をチェックし、オーバーフローが発生する可能性がある場合は、この計算されたサイズに基づいてエラーを報告します。 |
外部呼び出しの想定スタックサイズ | ランタイムシステムへの外部呼び出しで想定されるスタックサイズ (バイト単位) 例:24 と表示されている場合、外部関数への呼び出しはスタックの 24 バイトを使用すると想定されます 注:スタック使用量の計算結果は常に推定値です。 外部呼び出しのスタックサイズの一般的な推定値は、デバイスの説明で指定されています。この値は計算に使用されます。'' という属性を持つ外部呼び出しに特別な推定値が割り当てられていない限り、この限りではありませんestimated-stack-usage'。この場合は、特別な値が優先されます。 |
タスク/最大コールスタック | コンパイル時に決定されるコールスタック (呼び出し階層) ヒント:このビューでコールスタックが空の場合は、コンパイル操作を開始して 作成 → コードを生成 コマンド。これで、スタックの使用状況に関する現在の情報が表示されます。 |
スタックサイズ | 呼び出された POU あたりの使用スタックサイズ (バイト単位) または、タスクの呼び出し階層を介して合計されたスタックサイズ コンパイル時に、コンパイラーは呼び出しチェーンの最大スタック使用量を計算します。 重要:POU が赤で表示されている場合は、この POU でスタックオーバーフローが検出されたことを意味します。メモリオーバーフローのため、次の POU も赤で表示されます |
詳細については、以下を参照してください。 スタック使用量の計算