2012-01-12 7 views
8

CLRがどのようにpdbシンボルファイルを検索するのか、この動作をオーバーライドできるかどうかを知りたいと思います。CLRがpdbシンボルファイルを検索する方法

オンライン(MSDNおよびその他のリソース)に見えましたが、良い答えが見つかりませんでした。

私のアプリでは、メインの.EXEパスのいくつかのサブディレクトリにDLLがあります。

私のアプリケーションのすべてのシンボルを含むSymbols \ dirが必要です。 デフォルトでは、アセンブリがある場所からシンボルがピックアップされると思います。これは変更できますか?このブログ記事で

+0

例外オブジェクトが作成され、シンボルが利用可能な場合は、ファイル情報(ソースファイル:行番号)を持つスタックトレースが含まれています。私は、CLR(または誰でもスタックトレースを例外に追加するとこれらのファイルを照会する)と信じています。 –

+0

BTW CLRは他の(Win32)コードを呼び出すかもしれないので、それ自体はPDBファイルについて何も知らないかもしれません。 –

答えて

2

をあなたは単にあなた自身のプロセスのために_NT_SYMBOL_PATH環境変数を設定することができます。

+0

これは私にとってはうまくいかないようです。デバッグ時にのみ動作するのでしょうか、あるいは私がどこか別の場所にアプリケーションをデプロイするときにも動作しますか? –

+0

私はこれをデバッガなしでテストし、リリースビルドを実行しました。私はもちろん、右のサブディレクトリに.pdbsを置くこと以外は、このための良い失敗モードは見当たりません。 –

+0

私はDEBUGビルドを実行していますが、それが重要かどうかはわかりません。私のアプリの初期化時に環境変数を早期に設定する。私は正しいフォルダにすべてのシンボルを配置しましたが、そこからそれを拾うようには見えません。 –

関連する問題