1

タイトルは基本的にそれを要約しています。

http://msdn.microsoft.com/en-us/library/windows/desktopで説明されている手順を使用して、独自の .config ファイルからデータを収集するように構成された、VB.NET 2010 を使用して実装された COM+ サーバー アプリケーションがあります。 /ms685134(v=vs.85).aspx .

これまでのところ、それは魔法のように機能しているようです。そして、愚かにも、デバッグ情報を含む .pdb ファイルを選択する場所を知るにはそれで十分であると想定し、そこから予期しない例外が発生したときにそのような情報を含めます。(.pdb ファイルは、COM+ アプリケーションを構成する .dll ファイルのすぐ隣にあります)。

結局のところ、私は間違っていたようです。COM+ アプリケーションからスローされたすべての例外は、呼び出されている関数を示しますが、関連する行番号は示しません。

COM+ アプリケーションが関数名だけでなく、発生した例外によって返されるスタック トレースの行番号も返すようにするには、他に何かする必要がありますか?

4

1 に答える 1

1

ビンゴ!

断続的に答えを探して1年後、ようやくうまくいくものを見つけたと思います.

推奨される方法として、MS は、COM+ に公開されたアセンブリを GAC に配置するように求めています。何だと思う?これらのアセンブリを含む GAC フォルダー内に .pdb ファイルを配置すると、突然、.NET がいまいましい .pdb ファイルを見つけることができます! これで、すべてのスタック トレースに行番号が含まれるようになりました。イェーイ!

残念ながら、.pdb ファイルを GAC の .dll ファイルの隣に自動的に配置する方法 (またはツール) はないようです。うーん、インストーラーでやるしかないかな…

でもとりあえずミッションコンプリート!

于 2012-11-22T18:44:40.610 に答える