<a target="_blank"></a>
基于debian發行版,它的安裝時非常直接簡單,如下:
<code>$ sudo apt-get install nemiver</code>
在arch linux中安裝如下:
<code>$ sudo pacman -s nemiver</code>
在fedora中安裝如下:
<code>$ sudo yum install nemiver</code>
最令人欣慰的是,它能夠很好地與gnome環境像結合。
啟動nemiver的指令:
<code>$ nemiver</code>
你也可以通過執行一下指令來啟動:
<code>$ nemiver [需要調試的可執行程式的路徑]</code>
注意,如果在調試模式下編譯程式(在 gcc 中使用 -g 選項)将會對 nemiver 更有幫助。
還有一個優點是nemiver的加載很快,是以你馬上就可以看到主螢幕的預設布局。

預設情況下,斷點通常位于主函數的第一行。這樣就可以空出時間讓你去認識調試器的基本功能:
執行到下一行 (按鍵是f6)
執行到函數内部即停止(f7)
執行到函數外部即停止(shift+f7)
不過我個人喜歡“run to cursor(運作至光标所在行)”,該選項使你的程式準确的運作至你光标所在行,它的預設按鍵是f11。
斷點是很容易使用的。最快捷的方式是在一行代碼上按下f8來設定一個斷點。但是nemiver在“debug”菜單下也有一個更複雜的菜單,它允許你在一個特定的函數,某一行,二進制檔案中的位置,或者類似異常、分支或者exec的事件上設定斷點。
你也可以通過追蹤來檢視一個變量。在“debug”中,你可以用一個表達式的名字來檢查它的值,然後也可以通過将其添加到清單中以友善通路。這可能是最有用的一個功能,雖然我從未有興趣将滑鼠懸停在一個變量來擷取它的值。值得注意的是,雖然滑鼠懸停可以取到值,如果想要讓它更好地工作,nemiver是可以看到結構并給出所有成員的變量的指派。
談到友善地通路資訊,我也非常欣賞這個程式的布局。預設情況下,代碼在上半部分,功能區标簽在下半部分。這可以讓你通路終端的輸出、上下文追蹤器、斷點清單、注冊器位址、記憶體映射和變量控制。但是請注意在“edit”-“preferences”-“layout”下你可以選擇不同的布局,包括一個可以修改的動态布局。
自然,當你設定了全部斷點,觀察點和布局,您可以在“file”菜單下很友善地儲存該會話,以便你下次打開時恢複。
到目前為止,我們讨論的都是nemiver的基本特征,例如,你馬上開始調試一個簡單的程式需要了解什麼。如果你有更高的需求,特别是對于一些更加複雜的程式,你應該會對接下來提到的這些特征更感興趣。
nemiver允許你駁接到一個正在運作的程序進行調試。在“file”菜單,你可以篩選出正在運作的程序,并駁接到某個程序。
nemiver支援遠端調試,你可以在一台遠端機器上設定一個輕量級調試伺服器,然後你在另外一台機器上啟動 nemiver 去調試運作在調試伺服器上的程式。如果出于某些原因,你不能在遠端機器上很好地駕馭 nemiver或者gdb,那麼遠端調試對于你來說将非常有用。在“file”菜單下,指定二進制檔案、共享庫位置、遠端位址和端口。
如果你的nemiver是自行編譯的,你可以在“edit(編輯)”-“preferences(首選項)”-“debug(調試)”下給gdb指定一個新的位置。如果你想在nemiver下使用定制版本的gdb,那麼這個選項對你來說是非常實用的。
當你的程式分支時,nemiver是可以設定為跟随子程序或者父程序的。想激活這個功能,請到“debugger”下面的“preferences(首選項)”。
總而言之,nemiver大概是我最喜歡的不在ide裡面的調試程式。在我看來,它甚至可以擊敗gdb,它和指令行程式一樣深深吸引了我。是以,如果你從未使用過的話,我會強烈推薦你使用。我十分感謝它背後的開發團隊給了我這麼一個可靠、穩定的程式。
你對nemiver有什麼見解?你是否也考慮它作為獨立的調試工具?或者仍然堅持使用ide?讓我們在評論中探讨吧。
----------------------------------------------------------------------------------------------------------------------------