次の設定があります。私の作業セットアップでは、Windowsホスト上でARMコンパイラReal View Developer Suite(RVDS)3.2を扱っていますが、どのホスト上の他のCコンパイラでもこの状況が一般的である可能性があります。ライブラリのソースレベルのデバッグを行うには
WindowsホストでRVDS 3.2コンパイラツールチェーンを使用してCコードのARMライブラリ(静的ライブラリ - .aファイル)をビルドします。次に、このライブラリをLinuxホスト上のARM-Linuxコンパイラツールチェーンを使用してアプリケーションにリンクし、ARM実行ファイルを取得します。今、gdbを使ってこの生成されたARM実行可能ファイルをデバッグしようとすると、リンクされているライブラリに存在するいくつかの関数にブレークポイントを設定しようとすると、gdbはブレークポイントをソースを見つけることができません。そこで、実行可能ファイルが存在するLinuxフォルダにライブラリを作成するために使用されたすべてのソースファイル(*。c)を手動でコピーしました。それでもgdbはブレークポイントを設定できません。で、私は、アプリケーションにこのライブラリをリンクすることによって生成された実行ファイルを起動して別のコンパイラチェーンを使用してWindows上で作成し、このライブラリのソースレベルのデバッグを行うことができますどのように
: は、だから今、私は思考を開始しましたgdb。出来ますか?どうしたらいいですか?このライブラリソースレベルのデバッグを有効にするために、RVDSコンパイラツールチェーンにコンパイラオプションはありますか?
ソースファイルをWindowsのソースと同じフォルダ構造でlinuxにコピーする必要がありますか?
IIRCソースパスはコンパイラが実行されるディレクトリ(gcc用)からの相対パスです。つまり、コンパイラがコマンドラインで取得するパスです。 – starblue