インタフェース > コア インタフェース > MXSDebugger |
3ds Max 8 以降では、MXSDebugger コア インタフェースによって、MAXScript デバッガの設定にアクセスできます。
Interface: MXSDebugger
プロパティ:
MXSDebugger.isDialogOpen : boolean : Read
[MAXScript デバッガ](Debugger)ダイアログ ボックスが開いている場合は true、閉じている場合は false が含まれます。読み込み専用です。
MXSDebugger.hWnd : HWND : Read
[MAXScript デバッガ](Debugger)ダイアログ ボックスの Windows ハンドルが含まれます。読み込み専用です。
MXSDebugger.allowBreakOnThrow : boolean : Read|Write
[ブレイク命令を許可する](Allow Break On Throw)チェックボックスの状態を取得/設定します。既定値は true です。
MXSDebugger.breakOnError : boolean : Read|Write
[エラー箇所でブレイク](Break On Error)チェックボックスの状態を取得/設定します。既定値は false です。
MXSDebugger.breakOnException : boolean : Read|Write
[例外箇所でブレイク](Break On Exception)チェックボックスの状態を取得/設定します。既定値は false です。
MXSDebugger.defaultBreakOnThrow : boolean : Read|Write
[既定値 Throw debugBreak: オン](Default Throw debugBreak: on)チェックボックスの状態を取得/設定します。既定値は false です。
MXSDebugger.ignoreCaughtThrows : boolean : Read|Write
[キャッチした Throw を無視](Ignore Caught Throws)チェックボックスの状態を取得/設定します。既定値は true です。
MXSDebugger.ignoreCaughtErrors : boolean : Read|Write
[キャッチしたエラーを無視](Ignore Caught Errors)チェックボックスの状態を取得/設定します。既定値は true です。
MXSDebugger.ignoreCaughtExceptions : boolean : Read|Write
[キャッチした Throw を無視](Ignore Caught Throws)チェックボックスの状態を取得/設定します。既定値は true です。
MXSDebugger.enabledInQuietMode : boolean : Read|Write
[Quiet モードを有効](Enable in Quiet Mode)チェックボックスの状態を取得/設定します。既定値は false です。
MXSDebugger.enabledInNetRender : boolean : Read|Write
[ネットワーク レンダリングを有効](Enable in Net Render)チェックボックスの状態を取得/設定します。既定値は false です。
MXSDebugger.allowUnsafeMethods : boolean : Read|Write
[安全でないメソッド コールを許可](Allow Unsafe Method Calls)チェックボックスの状態を取得/設定します。既定値は false です。
true の場合、3ds Max をハングする可能性があるメソッドとプロパティ セットが、デバッガからの実行を許可されます。
多くの場合、ハングすると、コマンドのタイムアウト期間だけハングが続きます。
しかし一部のケースではハングが完全になり、3ds Max セッションを手動で終了する必要があります。
実行例 |
eval loadmaxfile "ateapot.max". |
MXSDebugger.showGlobalConstants : boolean : Read|Write
[グローバル定数を表示](Show Global Constants)チェックボックスの状態を取得/設定します。既定値は false です。
MXSDebugger.showFirstFrameOnly : boolean : Read|Write
[開始フレームのみを表示](Show First Frame Only)チェックボックスの状態を取得/設定します。既定値は false です。true の場合は、トップ フレームに関連する情報のみが表示されます。
MXSDebugger.stayOnTop : boolean : Read|Write
[最前面に配置](Stay On Top)チェックボックスの状態を取得/設定します。既定値は false です。true の場合、[MAXScript デバッガ](Debugger)ダイアログ ボックスは常に前面に表示されます。
MXSDebugger.clearOutputOnOpen : boolean : Read|Write
[開いている出力をクリア](Clear Output On Open)チェックボックスの状態を取得/設定します。true に設定すると、ブレークが発生したときに、新しいスタック ダンプを作成する前に、デバッガーからのそれまでの出力がクリアされます。false に設定すると、既存の出力はそのまま保持され、そこに追加されます。既定値は true です。
3ds Max 9 以降 で使用可能です。
MXSDebugger.commandTimeOutPeriod : DWORD : Read|Write
コマンドのタイムアウト期間を秒単位で取得/設定します。既定値は 15.0 秒です。
MXSDebugger.breakTimeoutPeriod : DWORD : Read|Write
ブレーク タイムアウト期間をミリ秒単位で取得/設定します。既定値は 5 ミリ秒です。
MXSDebugger.gcTimeoutPeriod : DWORD : Read|Write
GC タイムアウト期間を秒単位で取得/設定します。既定値は 5.0 秒です。
MXSDebugger.breakCyclePeriod : DWORD : Read|Write
ブレーク サイクル タイムアウト期間をミリ秒単位で取得/設定します。既定値は 1 ミリ秒です。
メソッド:
<void>MXSDebugger.openDialog break:<boolean> message:<string> setFocus:<boolean>
break default value: false message default value: undefined setFocus default value: false
[MAXScript デバッガ](Debugger)ダイアログ ボックスを開きます。
オプションのキーワード break: を true に指定すると、デバッガは 3ds Max の実行をブレークし、スタックをダンプします。
オプションのキーワード message: を undefined 以外に指定すると、文字列がメッセージ ウィンドウに出力されてからスタックがダンプされます。
オプションのキーワード setFocus: を true に指定するか、 break: を true にした場合は、[MAXScript デバッガ](Debugger)ダイアログ ボックスでフォーカスが設定されます。
例: |
mxsdebugger.openDialog message:"Welcome to MAXScript Debugger" |
<void>MXSDebugger.closeDialog()
[MAXScript デバッガ](Debugger)ダイアログ ボックスを閉じます。
<void>MXSDebugger.writeString <string>message
指定した文字列が[デバッガ](Debugger)のメッセージ キューに書き込まれます。末尾に改行は追加されず、文字列は表示されません。
後続のメッセージは同一行に追加されます。
明示的な改行シーケンス ¥n を指定すると、メッセージが表示されます。
例: |
mxsdebugger.openDialog() mxsdebugger.writeString "This text is " mxsdebugger.writeString "on the same line.\n" |
<void>MXSDebugger.writeLine <string>message
指定した文字列が[デバッガ](Debugger)のメッセージ ウィンドウに書き込まれます。末尾に改行が自動的に追加されます。
メッセージはすぐに表示されます。
例: |
mxsdebugger.openDialog() mxsdebugger.writeLine "This message is a complete line." |