6

アプリの 1 つでセグメンテーション違反をチェックしています。アプリを起動してからしばらくすると、メインgdbステータス バーが次のように変わります。

(デバッガ:run [シグナル受信])

プロンプトが表示され(gdb)ますが、他のすべてのウィンドウの内容は変更されません (空)。プロンプトで何かを入力しても何も起こりません -gdbハングしているように見えます。同じ手順を実行すると、完全で正しいバックトレースを使用してcommand line、期待どおりの出力が得られます。gdb

とを-i=mi統合してデバッグするのはこれが初めてです。私は24.2と7.5を使用しています。emacsgdbemacsgdb

これをさらにデバッグする方法について何か提案はありますか?

統合のレベルを下げることは可能ですか? これにより、問題の原因となっている領域を特定できますか?

最後のポイントは、アプリの最初の読み込みに約 70 秒かかることcommand lineです。

4

3 に答える 3

8

M-x gud-gdb古いgudモードを使用するために使用できます(つまり、mi相互作用なし)。派手さはありませんが、より信頼性があります。

于 2012-12-20T02:18:02.933 に答える
8

(カスタマイズを使用)に設定gdb-create-source-file-listすることでロード時間を短縮できます。nilこれが何をするのか、また場合によってはロード時間が大幅に増加する理由については、ドキュメントを参照してください。

于 2013-02-19T23:30:07.983 に答える
4

gdb-uiemacs 23 から emacs 24 でも動作するようです:

  • のコピーを見つけますgdb-ui(私の場合gdb-ui.el.gzgdb-ui.elcバックアップから)
  • これらをディレクトリに配置します(追加しました~/emacs-modes

次に、以下を .emacs に追加します。

(add-to-list 'load-path "~/emacs-modes")
(require 'gdb-ui)

実行中は、ではなくgdb古いモードを使用するようになりました。--annotate=3-i=mi

于 2012-12-20T09:29:45.920 に答える