Share via


IDebugControl::SetEngineOptions メソッド (dbgeng.h)

SetEngineOptions メソッドは、エンジンのオプションを変更します。

構文

HRESULT SetEngineOptions(
  [in] ULONG Options
);

パラメーター

[in] Options

エンジンの新しいオプションを指定します。 オプション はビット セットです。既存のシンボル オプションが置き換えられます。 エンジン オプションの説明については、「解説」を参照してください。

戻り値

このメソッドは、エラー値を返す場合もあります。 詳細については、「 戻り値 」を参照してください。

リターン コード 説明
S_OK
メソッドは正常に実行されました。

注釈

このメソッドは、エンジンのオプションを Options で指定したオプションに設定 しますAddEngineOptions とは異なり、[オプション] ビット セットに一覧表示されていないシンボル オプションはすべて削除されます。

エンジン オプションが変更されると、エンジンは、DEBUG_CES_ENGINE_OPTIONS フラグを IDebugEventCallbacks::ChangeEngineState メソッドに渡すことによって、各クライアントのイベント コールバック オブジェクトに通知を送信します。

次のグローバル オプションは、 デバッガー エンジンの動作に影響します。

常時 説明
DEBUG_ENGOPT_IGNORE_DBGHELP_VERSION DbgHelp DLL のバージョンがデバッガー エンジンのバージョンと一致しない場合、デバッガー エンジンはエラーではなく警告を生成します。
DEBUG_ENGOPT_IGNORE_EXTENSION_VERSIONS 拡張機能のバージョン チェックを無効にします。 これにより、デバッガー エンジンによる CheckVersion の呼び出しが抑制されます。
DEBUG_ENGOPT_ALLOW_NETWORK_PATHS ネットワーク共有は、シンボルと拡張機能の読み込みに使用できます。 このオプションは、一部のシステム プロセスをデバッグするときにエンジンがネットワーク パスを禁止することを防ぎ、慎重に使用する必要があります。

DEBUG_ENGOPT_DISALLOW_NETWORK_PATHSが設定されている場合、このオプションは設定できません。

DEBUG_ENGOPT_DISALLOW_NETWORK_PATHS ネットワーク共有は、シンボルと拡張機能の読み込みに使用できません。 一部のシステム プロセスをデバッグするときに、エンジンによってこのオプションの設定が試みられます。

DEBUG_ENGOPT_ALLOW_NETWORK_PATHSが設定されている場合、このオプションは設定できません。

DEBUG_ENGOPT_NETWORK_PATHS DEBUG_ENGOPT_ALLOW_NETWORK_PATHSとDEBUG_ENGOPT_DISALLOW_NETWORK_PATHSのビットごとの OR。
DEBUG_ENGOPT_IGNORE_LOADER_EXCEPTIONS 特定のバージョンの Windows でローダーによって生成される予想される初回例外を無視します。

たとえば、このオプションを使用すると、Windows 3.1 および 3.5 システムをデバッグするときに Windows 3.51 バイナリを実行できます。

DEBUG_ENGOPT_INITIAL_BREAK ターゲットの初期イベントでデバッガーに割り込みます。
DEBUG_ENGOPT_INITIAL_MODULE_BREAK ターゲットが最初のモジュールを読み込むと、デバッガーに割り込みます。
DEBUG_ENGOPT_FINAL_BREAK ターゲットの最終イベントでデバッガーに割り込みます。 ライブ ユーザー モード ターゲットでは、プロセスが終了します。 カーネル モードでは効果がありません。
DEBUG_ENGOPT_NO_EXECUTE_REPEAT 空のコマンドが指定された場合、デバッガー エンジンは最後のコマンドを繰り返しません。
DEBUG_ENGOPT_FAIL_INCOMPLETE_INFORMATION イメージをマップできないモジュールをデバッガーが読み込むのを防ぎます。

デバッガーは、イメージが含まれていないミニダンプをデバッグするときに、イメージの読み込みを試みます。

DEBUG_ENGOPT_ALLOW_READ_ONLY_BREAKPOINTS デバッガー エンジンがターゲットのページ保護を操作して、メモリの読み取り専用セクションにソフトウェア ブレークポイントを設定できるようにします。

ソフトウェア ブレークポイントを設定すると、エンジンはターゲットのメモリを透過的に変更して割り込み命令を挿入します。

DEBUG_ENGOPT_SYNCHRONIZE_BREAKPOINTS ライブ ユーザー モード デバッグでは、ブレークポイントの挿入と削除時にエンジンが追加の作業を実行して、ターゲット内のすべての スレッド が常に一貫したブレークポイント状態になるようにします。

このオプションは、ブレークポイントが設定されているコードを複数のスレッドが使用できる場合に便利です。 ただし、デッドロックの可能性が生じる可能性があります。

DEBUG_ENGOPT_DISALLOW_SHELL_COMMANDS デバッガーを介したシェル コマンドの実行を禁止します。

このオプションを設定した後は、設定を解除できません。

DEBUG_ENGOPT_KD_QUIET_MODE 静音モードをオンにします。 詳細については、「 sq (クワイエット モードの設定)」を参照してください。
DEBUG_ENGOPT_DISABLE_MANAGED_SUPPORT マネージド コードに対するデバッガー エンジンのサポートを無効にします。 マネージド コードのサポートが既に使用されている場合、このオプションは無効です。
DEBUG_ENGOPT_DISABLE_MODULE_SYMBOL_LOAD デバッガーでは、このフラグが設定されている間に読み込まれるモジュールのシンボルは読み込まれません。
DEBUG_ENGOPT_DISABLE_EXECUTION_COMMANDS ターゲットの実行を開始するコマンドを禁止します。
DEBUG_ENGOPT_DISALLOW_IMAGE_FILE_MAPPING ディスクからのイメージ ファイルのマッピングを禁止します。 たとえば、このオプションでは、ミニダンプ ファイルのデバッグ中にメモリ コンテンツのイメージ マッピングを禁止します。 このオプションは、既存のマッピングには影響しません。これは、イメージ ファイルをマップする後続の試行にのみ影響します。
DEBUG_ENGOPT_PREFER_DML デバッガーは、既定で DML 拡張バージョンのコマンドと操作を実行します。
DEBUG_ENGOPT_DISABLESQM ソフトウェア品質メトリック (SQM) データのアップロードを無効にします。

要件

要件
対象プラットフォーム デスクトップ
Header dbgeng.h (Dbgeng.h を含む)

こちらもご覧ください

AddEngineOptions

GetEngineOptions

IDebugControl

IDebugControl2

IDebugControl3

RemoveEngineOptions