2016-11-15 4 views
0

自分で作成したC++プロジェクトにリンクしているコンパイル済みのC++ライブラリ(.lib、自分ではコンパイルされていません)があります。私もソースコードを手に入れました。リンクされたライブラリのソースコードにステップインしてください

デバッグ中にソースコードを使用してライブラリから関数にステップインすることは可能ですか?これらのソースコードファイルを使用するようにVisual Studioデバッガに指示するにはどうすればよいですか?

私は.libファイルに何らかの種類のデバッグ情報が必要だと思います。

+0

[Pretty close](http://stackoverflow.com/questions/4316801/pointing-visual-studio-2008-to-the-source-code-of-a-third-party-dll-for-debuggin)しかし、おそらく私はより良いものを見つけるでしょう。 –

+0

[また非常に近い](http://stackoverflow.com/questions/2620279/visual-studio-attach-source-code-to-reference)、間違った言語。それがC++でも使えるかどうか確認してください。 –

答えて

2

Microsoftコンパイラは、デバッグ情報を別々の.pdbファイルに格納します。 VSが実行可能ファイル(実行中のインスタンスにアタッチするか、またはデバッガで直接起動する)によって使用されるライブラリ(たとえばmyLib)をロードすると、myLib.pdbも検索されます。それが見つかった場合、そのような機能を実行しようとすると、最初にそれに対応するソースの場所が尋ねられます。正しく提供されていれば、それをデバッグすることができます。

.pdbファイルがないと、ソースコードレベルで外部ライブラリをデバッグする方法がわかりません。

また、.pdbファイルはありませんが、外部ライブラリのソースコードがある場合、デバッグシンボル(.pdbファイル)を使用して再ビルドすることは可能でしょうか?

+0

実際に私は現在それらを再構築して、一致するPDBファイルを取得しようとしています。しかし、私がすでに持っているコンパイルされたバイナリのためにどのオプションが使われているかわからないので、いくつかの実験が必要です。私は成功した後に戻ってきます。 – ZoolWay

+0

@ZoolWay、George Spataceanさんからの返信が役に立ちましたら、可能であればそれを返信としてマークして、あなたと同じ問題を抱えた他のコミュニティメンバーにお役立てください:) –

+0

Ok、私はそれを再構築することができましたかなり複雑です)。だから私は 'lib'と' pdb'ファイルを手に入れました。それでも、私が*具体的な*にステップを使用しても、ソースに足を踏み入れることはありません。これは混在デバッガでは動作しないと推測されます。これは管理されたコードとアンマネージコードが混在しています。 – ZoolWay

関連する問題