欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
[精華] GDB基本用法

相關(guān)網(wǎng)站
http://www.jimmy-lam.com/studyarea/goldencat/debug.htm
http://phi.sinica.edu.tw/~tyuan/pcfarm.old/manuals/gnu/gdb_basic.html


GDB的使用

    當程序出錯并產(chǎn)生core 時(shí)
    快速定位出錯函數的辦法
    gdb 程序名 core文件名(一般是core,也可能是core.xxxx)
    
    調試程序使用的鍵
      r   run 運行.程序還沒(méi)有運行前使用
      c   cuntinue  繼續運行。運行中斷后繼續運行
      q   退出
      kill 終止調試的程序
      h   help  幫助
      <tab>; 命令補全功能
      
      step 跟入函數
      next 不跟入函數
      b   breakpoint 設置斷點(diǎn)。
          用法:
          b  函數名  對此函數進(jìn)行中斷
          b  文件名:行號 對此文件中指定行中斷.如果是當前文件,那么文件名與:號可以
省略
  看當前斷點(diǎn)數使用info break.禁止斷點(diǎn)disable 斷點(diǎn)號.刪除delete  斷點(diǎn)號.

l   list 列出代碼行。一次列10 行。連接使用list將會(huì )滾動(dòng)顯示. 也可以在list 后面
跟上 文件名:行號
      watch 觀(guān)察一個(gè)變量的值。每次中斷時(shí)都會(huì )顯示這個(gè)變量的值
      p   print 打印一個(gè)變量的值。與watch不同的是print只顯示一次
         這里在順便說(shuō)說(shuō)如何改變一個(gè) value. 當你下指令 p 的時(shí)候,例如你用 p b,
          這時(shí)候你會(huì )看到 b 的 value, 也就是上面的 $1 = 15. 
          你也同樣可以用 p 來(lái)改變一個(gè) value, 例如下指令 p b = 100 試試看,
          這時(shí)候你會(huì )發(fā)現, b 的 value 就變成 100 了:$1 = 100. 
          
 

網(wǎng)上抄錄
基本的使用方法簡(jiǎn)介
前言
程序代碼中的錯誤可分為數類(lèi),除了最容易除錯的語(yǔ)法錯誤,編譯程序會(huì )告訴你錯誤所在外,大部分的錯誤都可以歸類(lèi)為執行時(shí)錯誤。GDB 的功能便是 尋找執行時(shí)錯誤。如果沒(méi)有除錯程序,我們只能在程序中加入輸出變量值的指令來(lái)了解程序執行的狀態(tài)。有了 GDB 除錯程序,我們可以設定在任何地方停止程 序的執行,然后可以隨意檢視變量值及更動(dòng)變量,并逐行執行程序。 
一個(gè)除錯程序執行的流程通常是這樣的: 
  
1. 進(jìn)入除錯程序并指定可執行文件。 
2. 指定程序代碼所在目錄。 
3. 設定斷點(diǎn)后執行程序。 
4. 程序于斷點(diǎn)中斷后,可以 (1)檢視程序執行狀態(tài);檢視變量值或變更變量值 (2) 逐步執行程序,或是全速執行程序到下一個(gè)斷點(diǎn)或是到程序結束為止。 
5. 離開(kāi)除錯程序。 
以下將分為下列數項分別介紹: 
1. 進(jìn)入 GDB 及指定可執行檔 
2. 指定程序代碼所在目錄及檢視程序代碼 
3. 斷點(diǎn)的設定與清除 
4. 全速及逐步執行程序 
5. 檢視及更改變量值 
6. 檢視程序執行狀態(tài) 
7. 讀取 Core 文件信息 
進(jìn)入 GDB 及指定可執行檔:
1. 進(jìn)入 GDB 并讀入可執行檔 (檔名為 'PROGRAM'),準備進(jìn)行除錯。 
gdb PROGRAM
指定程序代碼所在目錄及檢視程序代碼
1. 增加目錄 DIR 到收尋程序代碼的目錄列表 (如果你的程序代碼和可執行檔放在同一個(gè)目錄下,就不須指定程序代碼所在目錄。): 
(gdb) directory DIR 
  
2. 檢視程序代碼,格式計有: 
(gdb) list   =>;  顯示目前執行程序代碼前后各五行的程序代碼;或是顯示從上次 list 之后的程序代碼 
(gdb) list function   =>;  顯示該程序開(kāi)始處前后五行的程序代碼。 
(gdb) list -               =>;上次顯示程序代碼的前面的十行。
斷點(diǎn)的設定與清除
1. 設定斷點(diǎn)(指令為 break,可簡(jiǎn)寫(xiě)為 (b),格式計有: 
(gdb) break filename.c:30   =>; 在 filename.c 的第三十行處停止執行。 
(gdb) break function           =>; 在進(jìn)入 function 時(shí)中斷程序的執行。 
(gdb) break filename.c:function   =>; 在程序代碼檔 filename.c 中的函數 function 處設定斷點(diǎn)。 
(gdb) break  =>;  在下一個(gè)將被執行的命令設定斷點(diǎn)。 
(gdb) break ... if cond  =>; 只有當 cond 成立的時(shí)候才中斷。cond 須以 C 語(yǔ)言的語(yǔ)法寫(xiě)成。 
  
2. 顯示各個(gè)斷點(diǎn)的信息。 
(gdb) info break 
  
3. 清除斷點(diǎn)(命令為 clear),格式同 break 。例如 : 
(gdb) clear filename.c:30 
  
4. 清除斷點(diǎn),NUM 是在 info break 顯示出來(lái)的斷點(diǎn)編號。 
(gdb) delete NUM
全速及逐步執行程序
1. 從程序開(kāi)頭全速執行程序,直到遇到斷點(diǎn)或是程序執行完畢為止。 
(gdb) run 
  
2. 在程序被中斷后,全速執行程序到下一個(gè)斷點(diǎn)或是程序結束為止 (continue 指令可簡(jiǎn)寫(xiě)為 c)。 
(gdb) continue 
  
3. 執行一行程序. 若呼叫函數, 則將該包含該函數程序代碼視為一行程序 (next 指令可簡(jiǎn)寫(xiě)為 n)。 
(gdb) next 
  
4. 執行一行程序. 若呼叫函數, 則進(jìn)入函數逐行執行 (step 指令可簡(jiǎn)寫(xiě)為 s)。 
(gdb) step 
  
5. 執行一行程序,若此時(shí)程序是在 for/while/do loop 循環(huán)的最后一行,則一直執行到循環(huán)結束后的第一行程序后停止 (until 指令可簡(jiǎn)寫(xiě)為 u)。 
(gdb) until 
  
6. 執行現行程序到回到上一層程序為止。 
(gdb) finish
檢視及更改變量值
1. print 敘述,顯示該敘述執行的結果 (print 指令可簡(jiǎn)寫(xiě)為 p)。如 
(gdb) print a              =>; 顯示 a 變量的內容. 
(gdb) print sizeof(a)  =>; 顯示 a 變量的長(cháng)度. 
  
2. display 敘述,在每個(gè)斷點(diǎn)或是每執行一步時(shí)顯示該敘述值。如 
 (gdb) display a 
  
3. 更改變量值: 
(gdb) print (a=10)    =>; 將變量 a 的值設定為 10. 
 
檢視程序執行狀態(tài)
1. 查看程序執行到此時(shí),是經(jīng)過(guò)哪些函數呼叫的程序 (backtrace 指令可簡(jiǎn)寫(xiě)為 bt),也就是查看函數呼叫堆棧。 
(gdb) backtrace
讀取 Core 文件信息
1. 讀入 PROGRAM 及 PROGRAM.CORE 檔,可檢視 Core Dump 時(shí)程序變量值及程序流程狀態(tài) 。 
gdb  PROGRAM  core 
說(shuō)明:'core' 檔案是由 PROGRAM 檔執行后,遇到 Core Dump 時(shí)產(chǎn)生的 Core 檔檔名。如果你還需要 該 Core 檔,我們建議你將該檔案檔名更改為 PROGRAM.core。在輸入上述命令后,你可以用 GDB 提供的檢視變量值以及檢視程序執行狀 態(tài)來(lái)讀取程序 Core Dump 時(shí)的狀態(tài)。

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
gcc編譯與gdb調試簡(jiǎn)要步驟
gdb調試技巧
GDB調試手冊
使用 GDB 調試 Linux 軟件
linux下的c/c++調試器gdb
gdb基本命令總結
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久