轉:
[ 問題一: 運行GDB命令時提示"unable to read from GDB pseudo tty"? ]
有讀者在試圖執行GDB命令時,出現上面的提示。
出現這個問題是由于沒有正確設置gdbprg變量。使用下面的命令設置一下GDB程序的位置即可解決此問題:
請把上面的/path/to/gdb替換成你計算機中GDB程序所在的路徑。你可以把這句話加到你的vimrc中,這樣每次啟動vi時會自動設置此變量。
[ 問題二: 提示"GDB busy: command discarded, please try again"? ]
當你的程序需要用scanf()或者getchar()這類函數讀取用戶輸入時,你可能會看到過這樣的提示:
GDB busy: command discarded, please try again
出現這個提示,說明你的GDB正在等待用戶輸入,所以無法響應你所輸入的其它GDB命令。
在使用vimgdb時,如果你的程序需要讀取用戶輸入,你必須通過GDB的tty命令或run來重定向程序的標準輸入。
首先,你打開一個終端(可以是xterm/rxvt/urxvt/putty/…),在此終端內輸入命令tty:
這條命令用來顯示此終端所使用的設備文件名。獲得了這個設備文件名后,你就可以重定向程序的標準輸入輸出到這個終端,在GDB中輸入下面的命令:
執行完這條命令后,程序的標準輸入/輸出就被重定向到/dev/pts/17了,這樣,當執行到scanf()或getchar()函數時,切換到那個終端輸入指定參數,然后回車,程序就會繼續向下執行。
[ 問題三: vimgdb可以在windows下使用嗎? ]
vimgdb不能在windows下使用。不過你可以用作者提供的Clewn或Pyclewn。這兩個程序可以在Windows的Vim/Gvim中使用。
這里有我寫的一篇關于pyclewn的教程:在VIM中使用GDB調試 – pyclewn,clewn的用法與之類似。
[ 問題四: 按空格后vimgdb的命令窗口沒有彈出來? ]
首先確保vimgdb的按鍵定義文件存在。執行下面的命令:
檢查這條命令所列出的所有目錄,如果任一目錄中包含macros/gdb_mappings.vim文件,說明你的按鍵映射文件已經存在。如果你沒有找到該文件,到vimgdb目錄中找到這個命令,拷貝到上述任意一個目錄中。
接下來用下面的命令加載vimgdb的鍵綁定:
:run macros/gdb_mappings.vim
現在,你應該可以使用vimgdb所定義的快捷鍵了。
posted on 2010-03-10 16:59
李陽 閱讀(1637)
評論(0) 編輯 收藏 引用 所屬分類:
Linux