アプリケーションをデバッグするときに、GDBに侵入して、errnoをチェックする関数内からでも、errnoを出力しようとすると、GDBから次のエラーが発生します。
(gdb) print errno
Cannot find shared library `/usr/lib/debug/lib/libc-2.11.1.so' in dynamic linker's load module list
私が試したこと:
- ファイルが存在するかどうかを確認します。存在し、約7.3MBです。
- LD_LIBRARY_PATHの前に/usr/ lib / debug /lib/を追加します。無効。
- LD_PRELOAD = / usr / lib / debug / lib / libc-2.11.1.soを設定すると、起動時にアプリがセグメンテーション違反になります。
- バイナリでlddを実行すると、「/ lib / libc.so.6」を使用していると表示され、aptitude(Ubuntuを実行している)はlibc6-dbgがインストールされていることを通知します。
- .gdbinitにカスタムlibパスが設定されていないことを確認しましたが、設定していません。
それ以外の点ではアプリケーションは正常に動作しているように見えるので、libc自体が台無しになっているとは想像できません。何か案は?