gdbを使用してバイナリファイルをデバッグする方法

gdbを使用してバイナリファイルをデバッグする方法

現在、一定期間の使用後に通常ロックされるバイナリプログラムがあります。画面の右側にあるバーをクリックしてマウスの左ボタンにすばやく移動すると発生することがあります。

たとえば、次のコマンドを使用してこれらのプログラムを実行しています。

LD_LIBRARY_PATH=/arquivos/Gtk+-3.4.0/lib/:/xorg/X11-1.4.4/lib/:/xorg/Xcb-1.4/lib/:/arquivos/Dbus-1.10.2/lib gdb ./firefox

その後、gdbに「run」と入力してFirefoxをロードしました。しばらく使ってみると、いつものように完全にロックされて背景がモノクロに変わりましたね。

Gdbは私にこう言います。

 Thread 6 received signal SIGPIPE, Broken pipe.
 [Switching to Thread 0x7fffe2cbe700 (LWP 5192)]
 0x00007ffff7bbe96f in __libc_send (fd=214, buf=0x7fffd694b000, n=24, flags=0)
at ../sysdeps/unix/sysv/linux/x86_64/send.c:31
31  ../sysdeps/unix/sysv/linux/x86_64/send.c: No such file or directory.

役に立つかもしれませんし、そうでないかもしれません。本当に分からない。私の主な目的は、エラーの原因を見つけて修正することです。個人的に、私は犯人がFirefoxがLD_LIBRARY_PATHを介して使用するライブラリの1つであるか、そのライブラリとシステムベースライブラリの間の競合だと思います。

問題はそれを行う方法です。

ベストアンサー1

おすすめ記事