私の質問は、gdb/gdbserver を使用した組み込みアーム プロセッサでのアプリケーションのリモート デバッグに関するものです。
アプリケーション自体をデバッグできますが、アプリケーションは社内通信プロトコルを実装する共有ライブラリに動的にリンクします。共有ライブラリ関数内にブレークポイントを設定できるようにしたいので、デバイス検出の問題を解決してみてください。
ライブラリがデバッグ シンボルを使用してコンパイルされ、ホスト側で gdb によって読み込まれることを確認しました。ライブラリ内の関数を一覧表示し、ブレークポイントを設定することもできますが、アプリケーションを実行しようとするとすぐにエラー メッセージが表示されます。の効果:
Cannot insert breakpoint X.
Error accessing memory address : Input/output error.
ここで、X は gdb のブレークポイント番号であり、アドレスが小さすぎて有効ではありません。
ターゲット マシンとホスト マシンの両方で新しいライブラリを使用していますがmount -o bind newlib oldlib
、ターゲットでは nfs マウントを使用しています。
何が間違っている可能性があるかについて誰かが考えを持っていますか? 前もって感謝します。