シンボルのオプション
シンボルの読み込みと使用方法を制御するには、いくつかのオプションを使用できます。 これらのオプションは、さまざまな方法で設定できます。
次の表は、シンボルのオプションを示しています。
フラグ | オプション名 | デバッガーの既定値 | DBH の既定 |
---|---|---|---|
0箸1 |
オン |
オン |
|
0等2 |
オン |
オン |
|
0餡4 |
有効 |
Off |
|
0酒8 |
"オフ" |
"オフ" |
|
0煮10 |
KD および CDB でオフ WinDbg でのオン |
オン |
|
0x20 |
有効 |
Off |
|
0x40 |
"オフ" |
"オフ" |
|
0x80 |
"オフ" |
"オフ" |
|
0x100 |
"オフ" |
"オフ" |
|
0x200 |
有効 |
Off |
|
0x400 |
"オフ" |
オン |
|
0x800 |
"オフ" |
オン |
|
0x1000 |
"オフ" |
"オフ" |
|
0x2000 |
SYMOPT_INCLUDE_32BIT_MODULES |
"オフ" |
"オフ" |
0x4000 |
"オフ" |
"オフ" |
|
0x8000 |
"オフ" |
"オフ" |
|
0x10000 |
オン |
オン |
|
0x20000 |
有効 |
Off |
|
0x40000 |
"オフ" |
"オフ" |
|
0x80000 |
KD および CDB でオン WinDbg でオフ |
"オフ" |
|
0x80000000 |
"オフ" |
"オフ" |
シンボル オプションの設定の変更
.symopt (シンボル オプションの設定) コマンドを使用して、シンボル オプションの設定を変更または表示できます。 さらに、これらの設定を変更するには、いくつかのコマンド ライン パラメーターとコマンドを使用できます。これらは、個々の SYMOPT_XXX セクションに記載されています。
sflagsコマンド ライン オプションを使用して、すべての設定を一度に制御することもできます。 このオプションの後に 10 進数を付けるか、16 進数の前に 0x を付けることができます。 シンボル フラグは適切に配置されるため、16 進数を使用することをお勧めします。 ビットフィールド全体を設定し、すべてのシンボル ハンドラーの既定値をオーバーライドするため、このメソッドの使用には注意してください。 たとえば、 -sflags 0x401 では、SYMOPT_EXACT_SY MB (メガバイト)OLS と SYMOPT_CA Standard Edition_IN Standard Edition NSITIVE が有効になるだけでなく、通常は既定でオンになっている他のすべてのオプションもオフになります。
シンボル関連のコマンド ライン オプションなしでこれらのプログラムを起動すると、合計フラグ ビットの既定値は WinDbg、CDB と KD で0xB0227、DBH ツール で0x10C13に0x30237されます。
SYMOPT_CASE_INSENSITIVE
このシンボル オプションを使用すると、シンボル名のすべての検索で大文字と小文字が区別されません。
このオプションは、すべてのデバッガでデフォルトでオンになっています。 デバッガーが実行されたら、 .symopt+0x1 または .symopt-0x1 を使用して、このオプションをオンまたはオフにすることができます。
このオプションは、DBHでは既定でオンになります。 DBH が実行されたら、それぞれ symopt +1 または symopt -1 を使用してオンまたはオフにすることができます。
SYMOPT_UNDNAME
このシンボル オプションを使用すると、パブリック シンボル名が表示されるときにアンコーディングが解除され、シンボル名の検索でシンボル装飾が無視されます。 このオプションがアクティブかどうかに関係なく、プライベート シンボル名は装飾されません。 シンボルの名前の詳細については、「 パブリック シンボルとプライベート シンボル」を参照してください。
このオプションは、すべてのデバッガでデフォルトでオンになっています。 デバッガーが実行されたら、 .symopt+0x2 または .symopt-0x2 を使用して、このオプションをオンまたはオフにすることができます。
このオプションは、DBHでは既定でオンになります。 -d コマンド ライン オプションが使用されている場合はオフになります。 DBH が実行されたら、それぞれ symopt +2 または symopt -2 を使用してオンまたはオフにすることができます。
SYMOPT_DEFERRED_LOADS
このシンボル オプションは、 シンボルの遅延読み込み または シンボルの遅延の読み込みと呼ばれます。 アクティブな場合、ターゲット モジュールが読み込まれると、シンボルは実際には読み込まれません。 代わりに、シンボルは必要に応じてデバッガーによって読み込まれます。 詳細については、「 遅延シンボルの読み込み」 を参照してください。
このオプションは、すべてのデバッガでデフォルトでオンになっています。 CDB および KD では、-s コマンドライン オプション を使用すると、このオプションがオフになります。 また、tools.ini ファイルの LazyLoad 変数を使用して、CDB でオフにすることもできます。 デバッガーが実行されたら、.symopt+0x4 または .symopt-0x4 を使用して、このオプションをオンまたはオフにすることができます。
このオプションの既定値は、DBHではオフです。 DBH が実行されたら、それぞれ symopt +4 または symopt -4 を使用してオンまたはオフにすることができます。
SYMOPT_NO_CPP
このシンボル オプションは C++ 変換をオフにします。 このシンボル オプションを設定すると、 すべてのシンボルの :: が __ に置き換えられます。
このオプションは、すべてのデバッガーでデフォルトでオフになっています。 これは、-snc コマンド ライン オプションを使用してアクティブ化できます。 デバッガーが実行されたら、 .symopt+0x8 または .symopt-0x8 を使用して、このオプションをオンまたはオフにすることができます。
このオプションの既定値は、DBHではオフです。 DBH が実行されたら、それぞれ symopt +8 または symopt -8 を使用してオンまたはオフにすることができます。
SYMOPT_LOAD_LINES
このシンボル オプションを使用すると、ソース ファイルから行番号情報を読み取ることができます。 ソース デバッグが正しく機能するためには、このオプションがオンになっている必要があります。
KD および CDB では、このオプションは既定でオフになっています。WinDbg では、このオプションは既定でオンになっています。 CDB および KD では、-lines コマンドライン オプション を使用すると、このオプションがオンになります。 デバッガーが実行されたら、 .symopt+0x10 または .symopt-0x10 を使用して、このオプションをオンまたはオフにすることができます。 .lines (ソース行のサポートの切り替え ) コマンドを 使用して、オンとオフを切り替えることもできます。
このオプションは、DBHでは既定でオンになります。 DBH が実行されたら、それぞれ symopt +10 または symopt -10 を使用してオンまたはオフにすることができます。
SYMOPT_OMAP_FIND_NEAREST
コードが最適化され、予期される場所にシンボルがない場合、このオプションでは、最も近いシンボルが代わりに使用されます。
このオプションは、すべてのデバッガでデフォルトでオンになっています。 デバッガーが実行されたら、 .symopt+0x20 または .symopt-0x20 を使用して、このオプションをオンまたはオフにすることができます。
このオプションは、DBHでは既定でオンになります。 DBH が実行されたら、それぞれ symopt +20 または symopt -20 を使用してオンまたはオフにすることができます。
SYMOPT_LOAD_ANYTHING
このシンボル オプションを使用すると、シンボル ハンドラーがシンボルと一致しようとしたときの選択性が低下します。
このオプションは、すべてのデバッガーでデフォルトでオフになっています。 デバッガーが実行されたら、 .symopt+0x40 または .symopt-0x40 を使用して、このオプションをオンまたはオフにすることができます。
このオプションの既定値は、DBHではオフです。 DBH が実行されたら、それぞれ symopt +40 または symopt -40 を使用してオンまたはオフにすることができます。
SYMOPT_IGNORE_CVREC
このシンボル オプションを使用すると、シンボル ハンドラーはシンボルを検索するときに、読み込まれたイメージ ヘッダー内の CV レコードを無視します。
このオプションは、すべてのデバッガーでデフォルトでオフになっています。 これは、-sicv コマンド ライン オプションを使用してアクティブ化できます。 デバッガーが実行されたら、 .symopt+0x80 または .symopt-0x80 を使用して、このオプションをオンまたはオフにすることができます。
このオプションの既定値は、DBHではオフです。 DBH が実行されたら、それぞれ symopt +80 または symopt -80 を使用してオンまたはオフにすることができます。
SYMOPT_NO_UNQUALIFIED_LOADS
このシンボル オプションは、シンボル ハンドラーによるモジュールの自動ロードを無効にします。 このオプションが設定されており、デバッガがシンボルの一致を試みる場合、すでにロードされているモジュールのみが検索されます。
このオプションは、シンボル名の誤入力に対する防御として使用できます。 通常、シンボルの入力が間違っている場合、デバッガーはアンロードされたすべてのシンボル ファイルを検索中に一時停止します。 このオプションがアクティブな場合、読み込まれたモジュールに誤って入力されたシンボルが見つからず、検索が終了します。
このオプションは、すべてのデバッガーでデフォルトでオフになっています。 これは、-snul コマンド ライン オプションを使用してアクティブ化できます。 デバッガーが実行されたら、 .symopt+0x100 または .symopt-0x100 を使用して、このオプションをオンまたはオフにすることができます。
このオプションの既定値は、DBHではオフです。 DBH が実行されたら、それぞれ symopt +100 または symopt -100 を使用してオンまたはオフにすることができます。
SYMOPT_FAIL_CRITICAL_ERRORS
このシンボル オプションを使用すると、ファイル アクセス エラー ダイアログ ボックスが非表示になります。
このオプションがオフの場合、シンボルの読み込み中に "ドライブの準備ができていません" などのファイル アクセス エラーが発生すると、ダイアログ ボックスが表示されます。 このオプションがオンの場合、これらのボックスは抑制され、すべてのアクセス エラーは "失敗" 応答を受け取ります。
このオプションは、すべてのデバッガでデフォルトでオンになっています。 これは、-sdce コマンド ライン オプションを使用して非アクティブ化できます。 デバッガーが実行されたら、 .symopt+0x200 または .symopt-0x200 を使用して、このオプションをオンまたはオフにすることができます。
このオプションの既定値は、DBHではオフです。 DBH が実行されたら、それぞれ symopt +200 または symopt -200 を使用してオンまたはオフにすることができます。
SYMOPT_EXACT_SYMBOLS
このシンボル オプションを使用すると、デバッガーはすべてのシンボル ファイルの厳密な評価を実行します。
このオプションがオンの場合、シンボル ファイルとシンボル ハンドラーの期待との間にわずかな不一致があっても、シンボルは無視されます。
このオプションは、すべてのデバッガーでデフォルトでオフになっています。 これは、-ses コマンド ライン オプションを使用してアクティブ化できます。 デバッガーが実行されたら、 .symopt+0x400 または .symopt-0x400 を使用して、このオプションをオンまたはオフにすることができます。
-failinc コマンド ライン オプションも、SYMOPT_EXACT_SYMBOLS を有効にします。 さらに、ユーザー モードのミニダンプまたはカーネル モードのミニダンプをデバッグする場合、-failinc は、イメージをマップできないモジュールをデバッガーが読み込むのを防ぎます。
このオプションは、DBHでは既定でオンになります。 DBH が実行されたら、それぞれ symopt +400 または symopt -400 を使用してオンまたはオフにすることができます。
SYMOPT_ALLOW_ABSOLUTE_SYMBOLS
このシンボル オプションを使用すると、DbgHelp はメモリ内の絶対アドレスに格納されているシンボルを読み取ることができます。 ほとんどの場合、このオプションは必要ありません。
このオプションは、すべてのデバッガーでデフォルトでオフになっています。 デバッガーが実行されたら、 .symopt+0x080 または .symopt-0x800 を使用して、このオプションをオンまたはオフにすることができます。
このオプションは、DBHでは既定でオンになります。 DBH が実行されたら、それぞれ symopt +800 または symopt -800 を使用してオンまたはオフにすることができます。
SYMOPT_IGNORE_NT_SYMPATH
このシンボル オプションを使用すると、デバッガーはシンボル パスと実行可能イメージ パスの環境変数設定を無視します。
このオプションは、すべてのデバッガーでデフォルトでオフになっています。 これは、-sins コマンド ライン オプションを使用してアクティブ化できます。 ただし、デバッガーが実行されると、環境変数は起動時にのみ読み取られるので、.symopt で 制御することはできません。
このオプションは DBH では既定ではオフであり、DBH ではすべてのケースで無視されます。
SYMOPT_PUBLICS_ONLY
このシンボル オプションを指定すると、DbgHelp はプライベート シンボル データを無視し、パブリック シンボル テーブルのみを検索してシンボル情報を検索します。 これにより、これらの型のサポートが追加される前の DbgHelp の動作がエミュレートされます。 パブリック シンボルとプライベート シンボル,
このオプションは、すべてのデバッガーでデフォルトでオフになっています。 デバッガーが実行されたら、 .symopt+0x4000 または .symopt-0x4000 を使用して、このオプションをオンまたはオフにすることができます。
このオプションの既定値は、DBHではオフです。 -d コマンド ライン オプションが使用されている場合はオンになります。 DBH が実行されたら、それぞれ symopt +4000 または symopt -4000 を使用してオンまたはオフにすることができます。
SYMOPT_NO_PUBLICS
このシンボル オプションを使用すると、DbgHelp がパブリック シンボル テーブルを検索できなくなります。 これにより、シンボルの列挙とシンボル検索がはるかに高速になります。 検索速度のみに関心がある場合は、通常、SYMOPT_AUTO_PUBLICSオプションを使用することをお勧めします。 パブリック シンボル テーブルの詳細については、「パブリック シンボルとプライベート シンボル 」を参照してください。
このオプションは、すべてのデバッガーでデフォルトでオフになっています。 デバッガーが実行されたら、 .symopt+0x8000 または .symopt-0x8000 を使用して、このオプションをオンまたはオフにすることができます。
このオプションの既定値は、DBHではオフです。 DBH が実行されたら、それぞれ symopt +8000 または symopt -8000 を使用してオンまたはオフにすることができます。
SYMOPT_AUTO_PUBLICS
このシンボル オプションにより、DbgHelp は最後の手段としてのみ .pdb ファイル内のパブリック シンボル テーブルを検索します。 プライベート シンボル データの検索時に一致するものが見つかった場合、パブリック シンボルは検索されません。 これにより、シンボルの検索速度が向上します。
このオプションは、すべてのデバッガでデフォルトでオンになっています。 これは、-sup コマンド ライン オプションを使用して非アクティブ化できます。 デバッガーが実行されたら、 .symopt+0x10000 または .symopt-0x10000 を使用して、このオプションをオンまたはオフにすることができます。
このオプションは、DBHでは既定でオンになります。 -d コマンド ライン オプションが使用されている場合はオフになります。 DBH が実行されたら、それぞれ symopt +10000 または symopt -10000 を使用してオンまたはオフにすることができます。
SYMOPT_NO_IMAGE_SEARCH
このシンボル オプションを使用すると、シンボルが読み込まれるときに DbgHelp がイメージのコピーをディスクで検索できなくなります。
このオプションは、すべてのデバッガでデフォルトでオンになっています。 デバッガーが実行されたら、 .symopt+0x20000 または .symopt-0x20000 を使用して、このオプションをオンまたはオフにすることができます。
このオプションの既定値は、DBHではオフです。 DBH が実行されたら、それぞれ symopt +20000 または symopt -20000 を使用してオンまたはオフにすることができます。
SYMOPT_SECURE
(カーネル モードのみ)このシンボル オプションは、セキュア モード がアクティブかどうかを 示します。
セキュリティ 保護モードは、すべてのデバッガーで既定でオフになっています。 これは、-secure コマンド ライン オプションを使用してアクティブ化できます。 デバッガーが実行されていて、休止モードで、デバッグ サーバーが確立されていない場合は、.symopt+0x40000 または .secure (セキュリティで保護されたモードのアクティブ化) を使用して、 セキュリティで保護されたモードを有効にすることができます。
このオプションの既定値は、DBHではオフです。 DBH が実行されたら、それぞれ symopt +40000 または symopt -40000 を使用してオンまたはオフにすることができます。
セキュア モードは、アクティブ化された後にオフにすることはできません。
SYMOPT_NO_PROMPTS
このシンボル オプションは、プロキシ サーバーからの認証ダイアログ ボックスを非表示にします。 SymSrv がインターネット経由でシンボル ストアーにアクセスできなくなる可能性があります。
詳細については、「 ファイアウォールとプロキシ サーバー」を参照してください。
KD および CDB では、このオプションは既定でオンになっています。WinDbg では、このオプションは既定でオフになっています。 デバッガーが実行されたら、 .symopt+0x80000または.symopt-0x80000を使用し、その後に .reload (Reload Module) コマンドを使用してオンまたはオフにすることができます。 また、 !sym プロンプトの off コマンド と !sym プロンプト 拡張コマンドの後に .reload (Reload Module) コマンドを使用して、オンとオフを切り替えることもできます。
このオプションの既定値は、DBHではオフです。 DBH が実行されたら、それぞれ symopt +80000 または symopt -80000 を使用してオンまたはオフにすることができます。
-SYMOPT_DEBUG
このシンボル オプションは、 ノイズの多いシンボルの読み込みをオンにします。 これは、シンボルの検索に関する情報を表示するようにデバッガーに指示します。
各シンボル ファイルの名前は、読み込まれると表示されます。 デバッガーがシンボル ファイルを読み込めない場合は、エラー メッセージが表示されます。 .pdb ファイルのエラー メッセージがテキストで表示されます。 .dbg ファイルのエラー メッセージは、エラー コードの形式で表示されます。これらのコードについては、winerror.h ファイルで説明されています。
イメージ ファイルがシンボリック ヘッダー情報を回復するためだけに読み込まれている場合は、これも表示されます。
このオプションは、すべてのデバッガーでデフォルトでオフになっています。 これは、-n コマンド ライン オプションを使用してアクティブ化できます。 デバッガーが実行されたら、 .symopt+0x80000000 または .symopt-0x80000000 を使用して、このオプションをオンまたはオフにすることができます。 また、 !sym noisy と !sym quiet の拡張コマンドを使うことで、オンとオフを切り替えることができます。
注: このオプションと、ノイズの多い ソース の読み込みと混同しないでください。後者は .srcnoisy (ノイズの多いソースの読み込み) コマンドによって制御されます。
このオプションの既定値は、DBHではオフです。 これは、-n コマンド ライン オプションを使用してアクティブ化できます。 DBH が実行されたら、それぞれ symopt +80000000 または symopt -80000000 を使用してオンまたはオフにすることができます。 また、verbose on コマンドと verbose off コマンドを使用して、オンとオフを切り替えることもできます。