2011-05-14 39 views
2

我使用gdb版本7.0從emacs進行調試。從emacs啓動時,gdb的行爲與從shell啓動的行爲相比略有不同。差異點是: -Emacs中的C/C++調試23.1

  1. gdb的提示,從emacs的啓動時不recogonize在當前目錄中的文件(從gdb的會話啓動。)這很當你運行應用程序煩瑣通過gdb(使用run),你必須給出文件的完全絕對路徑。當您通過shell從gdb啓動應用程序時,情況並非如此。

  2. 箭頭鍵(提供gdb提示符中輸入的最新命令)對於從emacs啓動的gdb不起作用。相反,它會在emacs gdb命令提示符中上下滾動。我在這裏做錯了什麼..?

感謝和問候

回答

0
  1. ,因爲你是在一個緩衝區,向上和向下的緩衝上下移動。大多數類似emacs的緩衝區使用「C-up」和「C-down」訪問命令歷史記錄。
+0

嗨,感謝您的指揮。它似乎訪問歷史。是否需要做任何事情來增加存儲歷史的長度。它只顯示歷史長度:1並作爲命令運行。我在gdb中使用了'n'和's',這些都沒有顯示。 – rob 2011-05-14 15:07:27

+0

對於問題的(1.)部分,我發現我們需要從gdb提示符'cd'到所需的路徑,因爲emacs將自身移動到gdb中啓動的二進制文件的位置。 – rob 2011-05-14 15:08:51

+0

@rob - 我會假設歷史是一個體面的長度,我不知道如何改變設置。我不太明白你的意思,但是,當你說「它只顯示歷史長度:1並且作爲命令運行」。 – jtahlborn 2011-05-15 17:08:26