Linuxでアプリケーションをデバッグしたい。アプリケーションはC++で作成されています。GUIはQTを使用して作成されます。GUIは、アプリケーションのバックエンドとして扱うことができる静的ライブラリにリンクされています。
静的ライブラリをデバッグしたいのですが、その方法がわかりません。
gdbを使ってみました
gdb GUI
しかし、どうすればライブラリを添付できますか?
Linuxでライブラリをデバッグした経験のある人はいますか?
gdb は、呼び出されたときにライブラリ内の関数を自動的にデバッグします。のように呼び出すだけです
gdb ./foo
run
:) 。必ずデバッグ フラグを指定して foo をビルドしてください ( -g3
gcc のすべてのデバッグ機能を有効にします :)。-O1
デバッグ中は最適化しないでください ( gcc に渡すのはせいぜい、それ以上最適化しないでください)。デバッガーを混乱させる可能性があります。
-g
ライブラリ コード自体をデバッグする場合は、コンパイラ フラグを使用してライブラリをビルドする必要があります(また、 litb が指摘する-g
ように実行可能ファイルをビルドする必要があります)。そうしないと、gdb はコードを正常に処理しますが、ライブラリ呼び出しを行うたびに処理を停止します。
KDbg、DDD - データ表示デバッガー、Code::Blocksを試すことができます
DDD と同様に、その他はデバッガーが統合された IDE ですが、コア デバッガー [gdb] はそれらの IDE で同じままです。唯一のことは、GUI でデバッガー ビューの組織化されたビューを取得することです。
Eclipse+CDT プラグインも試してください。それも良いです。
あまり知られていない代替手段は、cursesベースのインターフェースを使用するgdbtuiです。
Kdbg または ddd を使用することもできます