5

プロトコル分析を理解するためにWiresharkのソースコードを表示しようとしていますが、を使用するときに+gdb ./wiresharkを押してブレークポイントを設定し、次に入力すると、プロセスが停止することがわかりました。GDBのデバッグを可能にするためにlibtoolが何をするのか知りたいです。CtrlCC

すでに読んだman libtoolことがありますが、libtoolはあらゆる種類のツールである.a.o、シンプルなインターフェイスで簡単に使用できるツールであると書かれていますが、libtoolで何が重要かわかりませんgdb wireshark

4

1 に答える 1

5

libtoolを使用してプログラムをビルドすると、プラットフォームで共有ライブラリを使用する際のすべての問題と特殊性が処理されます。

デバッグの際に、システムにインストールされていない(コンパイルされたばかりの)共有ライブラリをロードする必要があるため、問題の1つはデバッグです。したがって、libtoolが実行可能ファイルをビルドすると、それを隠しディレクトリ(.libs)に移動し、通常、同じ名前のスクリプトなどを表示できる場所に配置します。このスクリプトは、正しいライブラリで正しいプログラムを実行するためのすべての魔法を実行します。

gdbただし、明らかに、 !を使用してスクリプトをデバッグすることはできません。したがって、適切なgdbライブラリを使用して適切なプログラムをデバッグできるように、適切なパラメータをに渡すには、次のコマンドを実行する必要があります。

$ libtool --mode=execute gdb ./wireshark

次のコマンドを実行すると、その機能を確認できます。

$ libtool --mode=execute echo ./wireshark

.libs直接からのファイルを使用しないでくださいlibtool。alwaysまたはラッパースクリプトを使用してください。

于 2012-06-15T10:02:37.143 に答える