Dev-Cpp/Mingw32 環境介紹(3)

本文轉載自:http://blog.csdn.net/VisionCat/archive/2004/08/09/69532.aspx

Dev-Cpp/Mingw32 環境介紹(3)

上文回顧:


  上文《Dev-Cpp/Mingw32 環境介紹(2)》向各位介紹了一些有關Dev-Cpp的功能,其中有包的安裝和一些小功能。希望能得到你的滿意。這次,我們就繼續介紹Dev-Cpp的其他功能。其實,說句實話。對於GNU的東西,我個人覺得還是提示符下用的舒服。我也不知道爲什麼。有很多功能,在提示符下很簡單的打幾個字符,可以完成像Windows的IDE需要點很多鼠標才能完成的功能。我說這個並不是沒有道理的空穴來風。本次我將爲你展現我這一觀點。

 

第五章 在Dev-Cpp下的程序調試

 

  對於任何程序員來說,程序的調試是再需要不過了。如果沒有程序調試,那麼程序的穩定又從何說起呢?現在我們就來看看如何使用Dev來調試我們親愛的程序吧。
  衆所周知,GNU有一個非常棒的調試程序GDB,可是由於常常使用VC。所以,對於這個許多人都有所而聞而未目睹這一程序的芳容。現在我們就來掀開他的蓋頭來。首先,我們超常,啓動Dev-Cpp這次我們要做的是在Dev-Cpp下調試程序。在Dev-Cpp下,調試程序並不像在VC下那樣有專門的程序界面來做。他的調試界面就在代碼框的下面。只要選擇下面的 調試 選項卡就可以看到調試界面了。
  在各位看到調試界面後,會不會有一種淒涼的感覺?其實我已經淒涼了好幾年了。大家也就將就一下了。其中調試選項卡中還有三個選項。調試,回溯,輸出。其中,調試就是將一些調試的命令做成按鈕,方便各位操作。不過我個人覺得這個功能說方便也不方便。因爲有些時候就是很簡單的一個操作也會讓使用的人手忙腳亂的。回溯,是將GDB調會的有關函數的信息顯示出來,這個功能還不錯。輸出,是將用戶的GDB命令直接輸出給GDB程序,沒有按鈕了,不過這個界面有個不太好的地方,就是顯示GDB返回信息的窗口太小了。有種管中窺豹的感覺,很不舒服。
  話說那麼多,覺得有些羅嗦。各位是不是手癢癢了?(該不是小兒多動症吧?)現在隨便開啓一個程序,最好是代碼行數多點的,參數多點的,函數多點的,提示符界面的程序。因爲,這個可以幫助你們瞭解基本的運行機制嘛。
  點擊調試窗口的調試按鈕,如果你的程序沒有調試信息,那麼Dev會提示你是否重新編譯程序加入調試信息。選擇是。然後程序將使用Debug方式重新編譯連接程序。在完成之後。我們就開看看自己的程序吧。首先,我們先要運行GDB。在次點擊調試,或者將編輯區的光標移動到你要運行到的位置點擊運行到光標。然後,程序就開始運行了。其中,你會看到在編輯區中有一個藍色的條子。這個就指示你該程序運行到何處了。如果你願意,可以繼續向下運行一行。你只要點擊 下一步 就可以完成。對於其他有關GDB的操作,比如代碼的查看,變量的查看,函數的信息等等,只有通過輸出來完成了。選擇輸出,然後在輸出中的字符輸入框中輸入你的GDB命令。比如:list 這個命令將在下面的字符框中列出程序的代碼。當然,你要上下找找,因爲框太小,看起來很麻煩。
  好了,有關IDE中的調試,本人就介紹到這裏。在深入的東西,當然也沒有深入的東西了。再深入的話,怕我沒有累死,大家可要看着煩死了。其實上面介紹的一些操作如果再提示符下很容易就Ok了。更本不需要那麼複雜。我想,可能這也是Dev不能流行的一個主要原因吧。因爲界面的操作太不人性化了。

 

第六章 在提示符下的程序調試


  上一章中,我們領略了Dev-Cpp下的調試。真是讓人有些不感恭維。接下來我們來欣賞一下標準,經典的GDB調試。如果各位對Linux等系統有所瞭解的話,應該知道提示符是許多經典軟件的常用界面。所以,要使用一些經典的東西,看來還是要在提示符下多熟悉熟悉了。當然,這裏的提示符並不像各位想的那麼麻煩,要有上百條命令要記憶。其實,像GDB這樣的程序,基本就是一個很簡單的命令就可以解決了。而且非常靈活。
  接下來我就來介紹一個GDB的調試。
  首先我們必須要一個可以調試的代碼。現在我們用gcc main.c -o main -g來生成可調試的代碼。然後用gdb main 來啓動gdb。是不是沒有想象的那麼複雜啊?如果順利您會看到一段GDB的版權信息,接着是(GDB)這樣一個提示符。現在您就可以對GDB下命令了。
  看看程序代碼。如果,我們想看看調試程序的源代碼而又不想開啓main.c這個文件(更多的原因是要爲後面設置斷點等來做鋪墊)。那麼我們可以輸入list或者,l就可以查看程序代碼了。是不是啊?看來提示符並沒有像我們想象的那麼可怕。
  運行程序代碼。雖然調試是可以那麼我們該如何在調試的時候運行代碼呢?很簡單。輸入run或者r就可以運行了。如果前面設置過斷點,那麼使用這個命令可以讓程序運行到斷點。
  爲調試設置斷點。使用break可以設置斷點,讓調試程序在斷點停止運行的程序。break 後面必須有一個參數。參數可以是行號。如,break 10 就是在第10行設置斷點。也可以是函數名稱break main就是在main函數處設置斷點。
  查看程序變量。如果您像查看程序中的變量,可以用paint或者p命令來實現。這兩個命令後必須加上變量名稱。如 p argc就是顯示argc的值。而使用info命令可以查看相關的信息,如內存位置什麼的。
  一步步運行程序。如果您像在斷點後一步步的執行程序,可以用n或者next命令來執行下一行代碼。
  退出調試。輸入q退出程序。

  是不是覺得提示符下的調試要比IDE中的簡單?你不要以爲這就是GDB的全部功能。我在這裏只是爲各位展示一下GDB。如果各位要了解更多的關於GDB的使用方法。可以查看技術手冊或者到網上尋找相關的文章,可以找到很多。
  最後,如果對於GDB和調試程序有什麼疑問,我們可以一起探討。


文外音:


這次的文章好像很短,我也覺得。但是,沒有辦法。所謂衆口難調。這一章總是要講的。乾脆提早一些寫好。下一篇我們將進入項目的建立和靜態庫的使用。我想一定會讓你感到興奮的。最後,希望你能夠多多指教。我的格言:不論是思想還是程序,唯有通過不斷的交流才能愈加完善。

 

STUDIO軟件開發組

北斗星君(黃庠魁)


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章