1

私はグーグルでこの問題をしばらく調査しましたが、成功しませんでした。私は現在、Visual Studio 2010 C++ ソリューションで作業しており、結果の実行可能ファイルが Windows で実行されています。ソリューションには複数の構成があり、コードとライブラリの一部は構成固有ですが、一般的なフレームワークはすべての構成間で共有されます。

私が抱えている問題は、コールスタックの特定の構成部分でシンボルが表示されないことです! 不足しているシンボルは特定の静的ライブラリにあり、そのライブラリへのすべての参照で一貫しているようです。また、lib は構成間で共有され、そのシンボルは他の構成で正しく表示されます。

というわけで、何が原因なのかを突き止めたいと思います。過去にこれを経験したことがある人はいますか?

「Symbol Load Information」をクリックすると、動作中の構成と障害のある構成の両方で同じ結果が得られます。実行可能ファイルの pdb へのパスです。したがって、何らかの理由で、この特定のライブラリのシンボルが pdb に含まれていないようです。ただし、lib の個別の pdb は生成されます。多くの sbr ファイルが空であっても、bsc ファイルと sbr ファイルが生成されます。

誰かがこれを修正する方法を知っていたり、私が試したり注意したりするべきことのアイデアを持っていたりしたら、私はうれしいです?

どうもありがとう!

4

1 に答える 1

0

実行可能ファイルをリンクする時点で、スタティック ライブラリの PDB が使用可能であり、スタティック ライブラリ自体と同じディレクトリにある必要があります。そうしないと、デバッグ情報が実行可能ファイルの PDB に組み込まれません。(デバッグ セッション中にスタティック ライブラリ PDB を直接使用することはできません。)

より信頼できるものにしたい場合は、静的ライブラリを「プロジェクトの依存関係」としてではなく、プロジェクト間参照として設定してください。実行可能ファイルのリンカー入力にライブラリ名を手動で入力しないでください。

于 2014-05-09T11:07:04.620 に答える