ビルド環境と開発環境のソースファイルパスを一致させる(PDB)。
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicros...
-戻る
--[[ビルド]]
--[[Visual Studio]]
* 目次 [#v6f6ca57]
#contents
*概要 [#ze5d1ca2]
-一致が望ましいが、ビルド環境と開発環境のソースファイルパ...
-ビルド環境と開発環境のソースファイルパスを一致させる方法...
-結論としては、[デバッグ ソース ファイル]に指定したフォル...
ビルド環境と構成を一致させたソースファイルが存在すれば問...
*PDBとデバッガ [#ee51547d]
**概要 [#f26b1e0b]
-シンボル ファイルとも呼ばれるプログラム データベース (.p...
--ソース ファイルの識別子を、実行可能ファイルで使用される...
--ソース コード内のステートメントを実行可能ファイル内の実...
-デバッガはこの情報を使用して以下の 2 つを決定する。
--Visual Studio IDE に表示されるソース ファイルと行番号。
--設定されたブレークポイントによって実行可能ファイル内で...
-また、シンボル ファイルには以下が格納されている。
--ソース ファイルの元の場所、
--および必要に応じてソース ファイルを取得できる「[[ソース...
**シンボル ファイルの検索パス [#v5777f5f]
[ツール] ---> [オプション] ---> [デバッグ] ---> [シンボル...
シンボル ファイルの検索パスと「[[シンボル サーバ>#uf34ac5...
-[シンボル ファイル (.pdb) の場所]にURL またはディレクト...
-[このディレクトリにシンボルをキャッシュ]にディレクトリ ...
-次のシンボルを自動的に読み込む
--[除外されていないすべてのモジュール]オプション - [除外...
--[指定したモジュールのみ]オプション - [モジュールの指定]...
-[起動時にシンボルが見つからないとき警告 (ネイティブのみ)]
-[DLL エクスポートを読み込む]
**ソース ファイルの検索順 [#a182ac9f]
-Visual Studioが以下の順序で、ソース ファイルを検索して解...
>
+デバッガーを実行している Visual Studio インスタンスの ID...
+Visual Studio インスタンスで開いているソリューション内の...
+Visual Studio ソリューションの [共通プロパティ] - [デバ...
+モジュールの *.pdbファイル に含まれるソース情報。
-場合によって、
--「[[ソース サーバ>#oa07a535]]」へのコマンド
--モジュールがビルドされたソース ファイルの場所
>を検索する。
--なお、ここでファイルが見つからなかった場合、
---..\に遡りながらファイルを探し、
---見つからなかった場合、ファイルが見つからない旨のページ...
--ファイルが検索された場合は、そのフォルダのパスが自動的...
-[デバッグ ソース ファイル]で指定したフォルダ以下に、~
ビルド サーバと同じフォルダ構成でソース ファイルが配置さ...
以降、デバッグ時に、問題なくソース ファイルの参照が可能に...
*サーバとデバッガ [#ge5e7ea9]
**ソース サーバ [#oa07a535]
***概要 [#xbd8ee56]
symsrv プロトコルを実装する「ソース サーバ」からソース フ...
***有効化 [#bff94dc7]
「ソース サーバ」の使用を有効にするには、
-[ツール] ---> [オプション] ---> [デバッグ] ---> [全般]
--[マイ コードのみを有効にする]のチェックを外す。
--[.NET Framework ソースのステッピングを有効にする]のチェ...
--[ソース サーバー サポートを有効にする]のチェックを入れ、~
以下の子オプションを選択する(省略可能)。
---[ソース サーバー診断メッセージを出力ウィンドウに表示す...
---[部分信頼アセンブリのソース サーバーを許可する (マネー...
---[信頼されていないソース サーバー コマンドを常に確認な...
**シンボル サーバ [#uf34ac5a]
***概要 [#t6cbc349]
-symsrv プロトコルを実装する「シンボル サーバ」からシンボ...
-このシンボル ファイル(PDB)には任意のコマンドを埋め込む...
--このコマンドは、セキュリティ リスク的な観点から、制限で...
---srcsrv.ini というファイルに許可する(≒実行する)コマン...
srcsrv.dll および devenv.exe と同じディレクトリに配置する。
---srcsvr.ini ファイルにないコマンドを実行しようとすると、~
確認のダイアログ ボックスが表示される。
***有効化 [#abd00abb]
「シンボル サーバ」の使用を有効にするには、
-[ツール] ---> [オプション] ---> [デバッグ] ---> [シンボ...
'---> [シンボル ファイル (.pdb) の場所]で「シンボルサーバ...
-なお、「[[ソース サーバ>#oa07a535]]」の場所は、「シンボ...
*トラブルシュート [#n8f8cdf0]
**デバッグできない場合 [#p0f20511]
***現象 [#ve50f680]
以下のように、
-ステップ・インする際に、
>「ソースファイルがモジュールがビルドされたときのものと異...
-ブレーク・ポイントを設定した際に、
>「ブレークポイントは、現在の設定ではヒットしません。ソー...
というメッセージが表示されデバッグできない場合がある。
***対策 [#r95954e6]
-この現象は、
--Visual Studio Debugger はソースファイルのハッシュを PDB...
--ソースファイルの内容が異なってることを検出することがで...
-この場合、~
--ソースファイルがモジュールがビルドされたときのものと異...
https://visual-studio-professional.com/source-file-module...
>[ツール] ---> [オプション] ---> [デバッグ] ---> [全般] ...
[元のバージョンと完全に一致するソース ファイルを必要とす...
--の手順に従って、ハッシュ値の一致を無視したデバッグ実行...
**[デバッグ ソース ファイル]の保存場所 [#j75721c5]
***設定のクリア [#h596499b]
[[下記>#i7eb9260]]を削除するか、保存場所のソース ファイル...
***保存場所 [#i7eb9260]
-ソリューションの [共通プロパティ] - [デバッグ ソース フ...
ソリューションのプロパティに追加され .suo ファイル に記録...
-ソースを選択するダイアログ(コモン コントロール)で最後...
--HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVer...
--HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVer...
>※ Visual Studio はコモン コントロールをフックするので、~
.suoファイルを消しても、[デバッグ ソース ファイル]の設...
- IDE で同一のソース ファイルが開かれている場合、そのファ...
*参考 [#t0a40798]
-シンボル (.pdb) ファイル、ソース ファイル、およびバイナ...
https://msdn.microsoft.com/ja-jp/library/ms241613.aspx#An...
-Specify symbol (.pdb) and source files in the debugger~
https://docs.microsoft.com/en-us/visualstudio/debugger/sp...
----
Tags: [[:.NET開発]]
終了行:
「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicros...
-戻る
--[[ビルド]]
--[[Visual Studio]]
* 目次 [#v6f6ca57]
#contents
*概要 [#ze5d1ca2]
-一致が望ましいが、ビルド環境と開発環境のソースファイルパ...
-ビルド環境と開発環境のソースファイルパスを一致させる方法...
-結論としては、[デバッグ ソース ファイル]に指定したフォル...
ビルド環境と構成を一致させたソースファイルが存在すれば問...
*PDBとデバッガ [#ee51547d]
**概要 [#f26b1e0b]
-シンボル ファイルとも呼ばれるプログラム データベース (.p...
--ソース ファイルの識別子を、実行可能ファイルで使用される...
--ソース コード内のステートメントを実行可能ファイル内の実...
-デバッガはこの情報を使用して以下の 2 つを決定する。
--Visual Studio IDE に表示されるソース ファイルと行番号。
--設定されたブレークポイントによって実行可能ファイル内で...
-また、シンボル ファイルには以下が格納されている。
--ソース ファイルの元の場所、
--および必要に応じてソース ファイルを取得できる「[[ソース...
**シンボル ファイルの検索パス [#v5777f5f]
[ツール] ---> [オプション] ---> [デバッグ] ---> [シンボル...
シンボル ファイルの検索パスと「[[シンボル サーバ>#uf34ac5...
-[シンボル ファイル (.pdb) の場所]にURL またはディレクト...
-[このディレクトリにシンボルをキャッシュ]にディレクトリ ...
-次のシンボルを自動的に読み込む
--[除外されていないすべてのモジュール]オプション - [除外...
--[指定したモジュールのみ]オプション - [モジュールの指定]...
-[起動時にシンボルが見つからないとき警告 (ネイティブのみ)]
-[DLL エクスポートを読み込む]
**ソース ファイルの検索順 [#a182ac9f]
-Visual Studioが以下の順序で、ソース ファイルを検索して解...
>
+デバッガーを実行している Visual Studio インスタンスの ID...
+Visual Studio インスタンスで開いているソリューション内の...
+Visual Studio ソリューションの [共通プロパティ] - [デバ...
+モジュールの *.pdbファイル に含まれるソース情報。
-場合によって、
--「[[ソース サーバ>#oa07a535]]」へのコマンド
--モジュールがビルドされたソース ファイルの場所
>を検索する。
--なお、ここでファイルが見つからなかった場合、
---..\に遡りながらファイルを探し、
---見つからなかった場合、ファイルが見つからない旨のページ...
--ファイルが検索された場合は、そのフォルダのパスが自動的...
-[デバッグ ソース ファイル]で指定したフォルダ以下に、~
ビルド サーバと同じフォルダ構成でソース ファイルが配置さ...
以降、デバッグ時に、問題なくソース ファイルの参照が可能に...
*サーバとデバッガ [#ge5e7ea9]
**ソース サーバ [#oa07a535]
***概要 [#xbd8ee56]
symsrv プロトコルを実装する「ソース サーバ」からソース フ...
***有効化 [#bff94dc7]
「ソース サーバ」の使用を有効にするには、
-[ツール] ---> [オプション] ---> [デバッグ] ---> [全般]
--[マイ コードのみを有効にする]のチェックを外す。
--[.NET Framework ソースのステッピングを有効にする]のチェ...
--[ソース サーバー サポートを有効にする]のチェックを入れ、~
以下の子オプションを選択する(省略可能)。
---[ソース サーバー診断メッセージを出力ウィンドウに表示す...
---[部分信頼アセンブリのソース サーバーを許可する (マネー...
---[信頼されていないソース サーバー コマンドを常に確認な...
**シンボル サーバ [#uf34ac5a]
***概要 [#t6cbc349]
-symsrv プロトコルを実装する「シンボル サーバ」からシンボ...
-このシンボル ファイル(PDB)には任意のコマンドを埋め込む...
--このコマンドは、セキュリティ リスク的な観点から、制限で...
---srcsrv.ini というファイルに許可する(≒実行する)コマン...
srcsrv.dll および devenv.exe と同じディレクトリに配置する。
---srcsvr.ini ファイルにないコマンドを実行しようとすると、~
確認のダイアログ ボックスが表示される。
***有効化 [#abd00abb]
「シンボル サーバ」の使用を有効にするには、
-[ツール] ---> [オプション] ---> [デバッグ] ---> [シンボ...
'---> [シンボル ファイル (.pdb) の場所]で「シンボルサーバ...
-なお、「[[ソース サーバ>#oa07a535]]」の場所は、「シンボ...
*トラブルシュート [#n8f8cdf0]
**デバッグできない場合 [#p0f20511]
***現象 [#ve50f680]
以下のように、
-ステップ・インする際に、
>「ソースファイルがモジュールがビルドされたときのものと異...
-ブレーク・ポイントを設定した際に、
>「ブレークポイントは、現在の設定ではヒットしません。ソー...
というメッセージが表示されデバッグできない場合がある。
***対策 [#r95954e6]
-この現象は、
--Visual Studio Debugger はソースファイルのハッシュを PDB...
--ソースファイルの内容が異なってることを検出することがで...
-この場合、~
--ソースファイルがモジュールがビルドされたときのものと異...
https://visual-studio-professional.com/source-file-module...
>[ツール] ---> [オプション] ---> [デバッグ] ---> [全般] ...
[元のバージョンと完全に一致するソース ファイルを必要とす...
--の手順に従って、ハッシュ値の一致を無視したデバッグ実行...
**[デバッグ ソース ファイル]の保存場所 [#j75721c5]
***設定のクリア [#h596499b]
[[下記>#i7eb9260]]を削除するか、保存場所のソース ファイル...
***保存場所 [#i7eb9260]
-ソリューションの [共通プロパティ] - [デバッグ ソース フ...
ソリューションのプロパティに追加され .suo ファイル に記録...
-ソースを選択するダイアログ(コモン コントロール)で最後...
--HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVer...
--HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVer...
>※ Visual Studio はコモン コントロールをフックするので、~
.suoファイルを消しても、[デバッグ ソース ファイル]の設...
- IDE で同一のソース ファイルが開かれている場合、そのファ...
*参考 [#t0a40798]
-シンボル (.pdb) ファイル、ソース ファイル、およびバイナ...
https://msdn.microsoft.com/ja-jp/library/ms241613.aspx#An...
-Specify symbol (.pdb) and source files in the debugger~
https://docs.microsoft.com/en-us/visualstudio/debugger/sp...
----
Tags: [[:.NET開発]]
ページ名: