您好,登錄后才能下訂單哦!
自從1969年Unix系統誕生以來,開發該系統的兩位牛人Dennis Ritchie和Ken Thompson就琢磨著怎么移植到別的機器上。經過幾番折騰,最后在B語言的基礎上搞出一門新語言,這就是現在仍活躍在舞臺,并且看起來還毫無頹勢的C語言。用C語言重寫Unix內核后,也讓C語言和Unix系統的關系難以分離。所以linux下學習C語言能很容易理解它的一些本質,就像為什么C語言是大小寫區分,因為Unix是大小寫區分。
C語言之所以能寫操作系統,是因為它能操作內存。學習C語言最難也是最根本的就是指針,而指針就是操作內存的。要知道程序在內存中是怎么存儲和運行的,就得使用類Unix系統下大名鼎鼎的GDB。
面向應用的學習,所以現看看幾個基礎的命令后,對于用到的命令再補充。首先對于要調試的程序在編譯時要加上-g參數,把相關調試信息加入到目標文件中。對于用過vc6.0的人來說,總覺得gdb是命令行,用起來不是很順,還總是懷疑能不能實現vc6.0的功能。等你熟悉gdb后,你會鄙視vc6.0那樣的圖形化調試工具。
gdb -q a.out // 運行a.out,-q(quiet)不打印一些與gdb相關的信息。
l (list)
格式:
list <arguments>
默認情況下是列出當下行的后面10行,而要顯示前10行,用 - 參數。當前行是指在用list列出的第一行代表的行,而列出后,當前行仍然是原來的行。即list列出的第一行就是顯示后的當前行。
num1,num2顯示num1和num2間的行,兩個參數中一個可以可以為空,代表顯示10行,從num1開始或者顯示到num2。行的前面還可以指定文件名。表顯示該文件的num1到num2。默認是當前文件。
function,顯示函數function開始的10行。函數名前還可指定文件名。
*address,另外,還可以以地址作參數,以行所在內存中的地址前加*。
要是只給出一個參數,則以該參數為中心顯示上下5行。
show listsize 顯示當下默認顯示的行數。
set listsize <counts>設置默認顯示的行數。
待續...
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。