1

Linuxでアプリケーションをデバッグしたい。アプリケーションはC++で作成されています。GUIはQTを使用して作成されます。GUIは、アプリケーションのバックエンドとして扱うことができる静的ライブラリにリンクされています。

静的ライブラリをデバッグしたいのですが、その方法がわかりません。

gdbを使ってみました

gdb GUI

しかし、どうすればライブラリを添付できますか?

Linuxでライブラリをデバッグした経験のある人はいますか?

4

5 に答える 5

7

gdb は、呼び出されたときにライブラリ内の関数を自動的にデバッグします。のように呼び出すだけです

gdb ./foo
run

:) 。必ずデバッグ フラグを指定して foo をビルドしてください ( -g3gcc のすべてのデバッグ機能を有効にします :)。-O1デバッグ中は最適化しないでください ( gcc に渡すのはせいぜい、それ以上最適化しないでください)。デバッガーを混乱させる可能性があります。

于 2008-11-26T09:23:49.277 に答える
5

-gライブラリ コード自体をデバッグする場合は、コンパイラ フラグを使用してライブラリをビルドする必要があります(また、 litb が指摘する-gように実行可能ファイルをビルドする必要があります)。そうしないと、gdb はコードを正常に処理しますが、ライブラリ呼び出しを行うたびに処理を停止します。

于 2008-11-26T10:35:19.897 に答える
2

KDbgDDD - データ表示デバッガー、Code::Blocksを試すことができます

DDD と同様に、その他はデバッガーが統合された IDE ですが、コア デバッガー [gdb] はそれらの IDE で同じままです。唯一のことは、GUI でデバッガー ビューの組織化されたビューを取得することです。

Eclipse+CDT プラグインも試してください。それも良いです。

于 2008-11-26T10:18:53.267 に答える
1

あまり知られていない代替手段は、cursesベースのインターフェースを使用するgdbtuiです。

于 2008-11-26T11:28:40.537 に答える
0

Kdbg または ddd を使用することもできます

于 2008-11-26T12:32:11.970 に答える