MAXScript に関するデバッガのダイアログは、次の手順で開きます。
MAXScript デバッガ ダイアログは独立したスレッドで実行されるので、3ds Max には依存しません。
デバッガには独自のアイコンがあり、Windows タスクバー内では独立したアプリケーションとして表示されます。このため、インタラクティブな状態のまま 3ds Max スレッドの実行を中断させることもできます。
デバッガ ダイアログは、ダイアログの右下隅か境界線をドラッグすることでサイズ変更できます。他のウィンドウと同じように、最小化したり、最大化したり、閉じることもできます。
[デバッガ] (Debugger)ダイアログボックスには、次のコントロールがあります。
コマンド ラインです。 ここにデバッガのコマンドを入力して、コード フレームをナビゲートしたり、変数を問い合わせたり、変数の値を変更したり、ブレーク モードにある MAXScript コマンドを実行することができます。
使用可能なコマンドは次のとおりです。
threads
- すべてのスレッドを一覧表示
setThread<integer literal>
- 指定したスレッドをアクティブなスレッドに設定します。 stack - アクティブなスレッドのスタックをダンプします。
setFrame<integer literal>
- 指定されたフレーム をアクティブなフレームとして設定します。 locals {
getVar<string literal>
- アクティブなフレームまたはグローバルにある指定した変数の値を取得します。
setVar<string literal> <expr>
- アクティブなフレームまたはグローバルにある指定した変数の値を設定します。式はアクティブなフレームのスコープ内で評価されます。
eval<expr>
- 式を評価します。式はアクティブなフレームのスコープ内で評価されます。
?
- デバッガのコマンドの一覧を表示します。
出力ウィンドウです。 ここには、コードのトレースバックや、コマンド ラインで入力したコマンドによる結果が表示されます。
このボタンを押すと、メインの 3ds Max スレッドの実行が中断され、そのスレッドで実行されていた任意の MAXScript コードの現在の状態をデバッガによって表示することができます。このボタンは一度押したら、[実行] (Run)または[中止] (Stop)ボタンを押して 3ds Max スレッドの実行を続行させるまで無効になります。ブレーク状態の間は、3ds Max UI はまったく使用できません。
暗号化されたスクリプト内で定義された関数、マウス ツール、プラグイン、ロールアウトの場合、ローカル変数の値がエラーのトレースバック中にダンプされたり、ブレーク後にデバッガ フレームに表示されることはありません。これは、暗号化されたコマーシャル コードに対する下位レベルのアクセスを防ぐための措置です。
ブレークされたメインの 3ds Max スレッドの実行を再開します。このボタンは既定では無効になっており、ブレークが実行されると有効になります。
このボタンを押すと、コマンド ラインが評価されます。
このチェックボタンを押すと、[ウォッチ マネージャ](Watch Manager)ダイアログ ボックスが開きます。 このダイアログ ボックスでは、関連するグローバル変数やローカル変数の値を監視できます。このボタンをオンにすると、[ウォッチ マネージャ](Watch Manager)ダイアログ ボックスが開いた状態になります。このボタンをオフにすると、[ウォッチ マネージャ](Watch Manager)ダイアログ ボックスが閉じます。
このボタンを押すと、ブレーク後に、[実行] (Run)ボタンによって実行を続ける代わりに、コードの実行を中止することができます。[中止] (Stop)ボタンを押すと 3ds Max の実行が再開されますが、呼び出しスクリプトによって例外が発生してしまいます。この例外はデバッガによってキャッチされないので、実行中のスクリプトを終了させることができます。この例外はデバッガによってキャッチされないので、実行中のスクリプトを終了させることができます。
このボタンを押すと、[出力] (Output)ウィンドウの内容がクリアされます。
この[設定] (Config)ボタンを押すと、モーダルな[MAXScript デバッガ パラメータ](MAXScript Debugger Parameters)ダイアログ ボックスが開きます。 ここでは、デバッガの設定をカスタマイズしたり、特定の機能のオンとオフを切り替えたりすることができます。
[MAXScript デバッガ パラメータ](MAXScript Debugger Parameters)ダイアログ ボックスには、次のようなオプションがあります。
[ブレーク命令を許可する](Allow Break On Throw) - チェックマークが付いている場合、スローが検出されると、デバッガがコードの実行をブレークします。既定値はオンです。
[エラー箇所でブレーク](Break On Error) - チェックマークが付いている場合、エラーが検出されると、デバッガがコード実行をブレークします。 既定値はオフです。
[例外箇所でブレーク](Break On Exception) - チェックマークが付いている場合、例外が検出されると、デバッガがコード実行をブレークします。 既定値はオフです。
[キャッチしたスローを無視](Ignore Caught Throws) - チェックマークが付いている場合、スローをキャッチしても、デバッガはそのスローを無視し、コードの実行をブレークしません。チェックマークが付いていない場合、スローをキャッチすると、デバッガはブレークを実行します。既定値はオンです。
[キャッチした エラーを無視](Ignore Caught Errors) - チェックマークが付いている場合、エラーをキャッチしても、デバッガはそのエラーを無視し、コードの実行をブレークしません。チェックマークが付いていない場合、エラーをキャッチすると、デバッガはブレークを実行します。既定値はオンです。
[キャッチした例外を無視](Ignore Caught Exceptions) - チェックマークが付いている場合、例外をキャッチしても、デバッガはその例外を無視し、コードの実行をブレークしません。チェックマークが付いていない場合、例外をキャッチすると、デバッガはブレークを実行します。既定値はオンです。
[既定のスロー デバッグ ブレーク: オン](Default Throw debugBreak:on) - このチェックボックスは、MAXScript コードの Throw() メソッドの既定の動作をコントロールします。 チェックマークが付いている場合、オプションの debugBreak: 引数が true であると見なされ、オプションの引数を指定していないコード内で Throw() メソッドが呼び出されると、デバッガはブレークを実行します。既定値はオフです。
[自動モードを有効](Enabled In Quiet Mode) - チェックマークが付いている場合、デバッガの自動モードが有効になります。既定値はオフです。
[ネットワーク レンダリングを有効](Enabled in Net Render) - チェックマークが付いている場合、デバッガがネットワーク レンダリング中でも有効になります。 既定値はオフです。
[安全でないメソッド コールを許可](Allow Unsafe Method Calls) - 通常デバッガは、「安全な」メソッドのみコマンド ラインからの実行を許可し、メインの 3ds Max スレッドをハング アップさせてしまう可能性のある実行の呼び出しは無視します。このチェックボックスにチェックマークが付いている場合、デバッガはこうした危険性のある呼び出しも許可します。既定値はオフです。 多くの場合、ハング アップが発生しても、それは[コマンド タイムアウト](Command Timeout)で設定した時間しか続きません。ただし場合によっては、完全にハング アップした状態に陥り、3ds Max セッションを手動で終了させる必要が生じることもあります。 ただし場合によっては、完全にハング アップした状態に陥り、3ds Max セッションを手動で終了させる必要が生じることもあります。
[グローバル定数を表示](Show Global Constants) - チェックマークが付いている場合、グローバル定数 (pi、e など)も 表示されるようになります。既定値はオフです。
[開始フレームのみを表示](Show First Frame Only) - チェックマークが付いている場合、開始フレームの情報のみが表示されます。 このオプションは、開始フレームの情報のみを必要とする場合に便利ですが、[出力] (Output)ウィンドウには複数のサブフレームが表示される可能性があります。既定値はオフです。
[最前面に配置](Stay On Top) - チェックマークが付いている場合、MAXScript デバッガダイアログ ボックスが常に前面に表示されます。 既定値はオフです。
[開いている出力をクリア](Clear Output On Open) - ェックマークが付いている場合、ブレークしてデバッガを呼び出すと、出力ウィンドウがクリアされます。既定値はオンです。
[コマンド タイムアウト](Command Timeout) (秒) - この値によって、デバッガがコマンドの実行を待機する時間(秒)を指定します。 この秒数を過ぎると、コマンドの実行が中止されます。つまり、何らかの理由でコマンドによって 3ds Max がハング アップしてしまっても、ここで指定した時間を過ぎると無事にデバッガに制御が返されます。既定値は 15 秒です。
[GC タイムアウト](GC Timeout) (秒) - この値によって、デバッガがガベージ コレクションの実行を待機する時間(秒)を指定します。 この秒数を過ぎると、ガベージ コレクションの実行が中止されます。既定値は 5 秒です。
[ブレーク タイムアウト](Break Timeout) (msecs.) - この値によって、デバッガが 3ds Max スレッドのブレークを試みる時間(ミリ秒)を指定します。 既定値は 5 ミリ秒です。
[ブレーク循環](Break Cycle) (msecs.) - この値によって、ブレークの試行間隔(ミリ秒)を指定します。 既定値は 1 ミリ秒です。
[リセット] (Reset) - すべての設定を既定に戻します。
[OK] - 変更内容を確認し、今後使用できるように保存します。
[キャンセル] (Cancel) - すべての変更内容を破棄して、デバッガに戻ります。