動的にリンクするクライアントアプリケーションで使用するために、動的ライブラリ(Windows DLLやLinux共有オブジェクトファイル、.so)をデバッグモードでコンパイルしたとします。私のソースコードは、クライアントアプリケーション開発者が利用できます。
次のデバッグシナリオに関して、いくつかの説明が必要です。私は常に、クライアントアプリケーションがライブラリにデバッグするために(たとえば、クライアントアプリケーション開発者がデバッグ中にソースコードにステップインするために、たとえばで使用するためF10
にMS VC++
)、実際に持っている必要があることを理解/想定していましたライブラリ自体のローカルコピーを作成したか(ソースコードにアクセスできる)、少なくとも作成せずにソースコードにローカルアクセスできます(それで十分かどうかはわかりません)。
私はこれで正しいですか?つまり、クライアントアプリケーションが、それ自体が動的に構築されたアプリケーションに動的にリンクしている場合は、ライブラリにデバッグシンボル(MS VC ++のPDBファイル)を提供するだけでは不十分だと思います。誰かが私のためにこれを整理するのを手伝ってくれるかどうか感謝しますか?Linuxの状況はどうですか?私の理解も上記と同じです。ここで、静的ライブラリ(Windows LIBおよび/またはLinuxライブラリ.a)をコンパイルした場合。私の理解では、彼らは私のソースコードのローカルビルドコピーを持っている必要はありません(私はまだこれを試していません)?
私の前提は正しいですか?そうでない場合は、誰かが親切にいくつかの詳細な説明をできれば例を挙げて提供できますか?ご入力いただきありがとうございます。