一 gdb概述c++
gdb調試器的目的是讓你瞭解其餘的程序在執行的時候發生了什麼或者其餘程序崩潰時正在作什麼objective-c
gdb主要可以在運行中作四類事情(包括這些事情中的一些附加的事情)來幫助你獲取bugssession
a 運行程序,指定任何影響程序行爲的東西app
b 讓你的程序在指定的條件下中止函數
c 當你的程序中止的時候,檢查發生了什麼事情spa
d 改變程序中的內容,因此你可以嘗試糾正一個bug帶來的後果,而且繼續瞭解另外一個上述的狀況調試
你可以用gdb調試c和c++編寫的程序。瞭解更多的信息,能夠看section 15.4 【supported language】,page 199.和 section 15.4.1【c和c++】 199頁教程
部分支持d語言,更多的d信息 查看section15.4.2 d 205頁文檔
部分支持....io
調試使用集合,子範圍,文件變量或者內嵌函數的pascal程序並非當前的工做。gdb不支持使用pascal語法的輸入表達式,打印值,或者類似的特性。
gdb可以用來調試fortran編寫的程序,即便它可能有必要參考帶有尾隨下劃線的變量
gdb可以用來調試lbjective-c的程序,和使用apple/next或者gnu objective-c的運行庫
免費的軟件
gdb是受到gnu 通用公共許可證保護的免費軟件。gpl給予你自由複製和修改一個許可的程序---可是每一個人得到拷貝的人也能夠自由的修改這個拷貝(這就意味着他們必須訪問源代碼),和自由的分發更多的拷貝。典型的軟件公司用版權來限制你的免費權力。自由軟件基金會用GPL協議來保持這些自由的權利。
基本上,通用公共許可證是說你又這個自由,並且你不能從其餘人身上拿走這些自由。
免費的軟件須要免費的文檔
當今自由軟件社區的最大缺陷並非軟件,而是咱們缺乏包含的那些自由軟件的良好的免費文檔。許多我門很是重要的程序都不帶有免費的參考手冊和免費的介紹文本。文檔是一個軟件包中的重要組成部分。當一個重要的免費軟件包不帶有免費的手冊和一個免費的教程時,這是一個很大的差距,當今我門有不少這樣的差距。
舉例,例如perl 人們一般用的教程手冊都是非免費的。怎麼會這樣呢?由於那些發佈手冊的做者發表了限制性的條款-不復制 不修改 源代碼不可用--從自由軟件世界中摳出了他們。
這中狀況並非第一次發生了,而且遠遠沒有結束。不少時候咱們都聽到一個GNU用戶急切的描述他正在寫一個手冊,他打算給社區作貢獻,可是隻是瞭解到他經過簽署了一個讓它難免費的出版合同而致使計劃泡湯了。
自由軟件等免費文檔是一個自由的事情,而不是價格的問題。非免費手冊的問題並不不在於出版商爲印刷版收取費用-這自己就是好的。(自由軟件基金會也會出售可打印的副本)。問題在於手冊使用的限制。免費手冊以源代碼的形式提供,而且容許你複製和修改。而非免費的手冊不容許。
免費手冊的自由標準大體與自由軟件相同。再分發必須被容許(包括通常的各類商業分發),以致於手冊可以附加在每一個程序的拷貝上,包括在線和紙質的。
修改技術內容的權限也是相當重要的。當人們修改軟件,添加或者改變功能時,若是他們認真盡責也會修改手冊-因此他們可以提供
精確的文檔爲了修改程序。一個手冊,讓你別無選擇只能寫一個新的手冊來記錄一個對咱們的社區沒什麼意義的改變版本的程序。
修改方式的某些限制是能夠接受的。例如,要求保留原做者的版權聲明,分發條款,或者做者列表都是能夠的。要求修改後的版本包含被修改的聲明也是能夠的。即便是不能刪除或改變的整個部分也是能夠接受的,只要特們呢處理非技術性的話題(好比這個)。這些限制是能夠接受的,由於他們不妨礙社區正常使用手冊。
然而,必須可以修改手冊中全部的技術內容,而且經過全部正常的渠道將結果分發到全部一般的媒體中。不然,這些限制阻礙了手冊的使用,他是非免費的,咱們須要另外一個手冊來取代它。
請傳播有關這個問題的話。咱們社區繼續失去手冊到專有出版。若是咱們傳播自由軟件須要免費的參考手冊和教程,也許下一個想經過撰寫文檔提供貢獻的人在太遲以前會認識到,只有免費的手冊才能對自由軟件社區做出貢獻。
若是你正在編寫文檔,請堅持使用gnu自由文檔許可或者其餘的免費文檔許可進行發佈。請記住,這個決定須要您的批准--您沒必要讓出版商去決定。若是你堅持的話,一些商業出版商會使用免費的許可證。可是他們不打算提供這個選項;這是由你來提出這個問題,而且堅決的說,這就是你想要的,若是同你打交道的出版商拒絕了你的要求,就請嘗試其餘的出版商,若是你並不肯定提供的建議的許但是否免費,就寫信給licensing@gnu.org。
你可以鼓勵商業出版商經過購買更多的免費的,非版權限制的手冊和教程來出售,特別是從出版商那裏支付他們的寫做或者重大改進的副本。同時,儘可能避免購買非免費的文檔。檢查以前你購買的手冊的分發條款,並堅持要求您的業務的任何人都必須尊重您的自由。檢查這本書的歷史,嘗試獎勵已經付款的給做者的發佈者。
自由軟件基金會維護的其餘出版上發佈的一個免費的文檔列表。
1.a sample GDB session
你可以隨時隨地的閱讀這個文檔關於gdb的全部信息。然而,一些少許的命令足以開始使用這個調試器。這一章闡述這些命令。
在這個示例會話中,咱們強調像這樣的用戶輸入:輸入,使其更容易從圍繞在輸出中挑選出來。