欧美vvv,亚洲第一成人在线,亚洲成人欧美日韩在线观看,日本猛少妇猛色XXXXX猛叫

新聞資訊

    gdb 調(diào)試,gdb調(diào)試信息-24 02:0260次瀏覽

    1 簡介

    GDB(GNU )是GCC的調(diào)試工具。其功能強大,現(xiàn)描述如下:

    GDB主要幫忙你完成下面四個方面的功能:

    1.啟動你的程序,可以按照你的自定義的要求隨心所欲的運行程序。

    2.可讓被調(diào)試的程序在你所指定的調(diào)置的斷點處停住。(斷點可以是條件表達式)

    3.當程序被停住時,可以檢查此時你的程序中所發(fā)生的事。

    4.動態(tài)的改變你程序的執(zhí)行環(huán)境。

    2 生成調(diào)試信息

    一般來說GDB主要調(diào)試的是C/C++的程序。要調(diào)試C/C++的程序,首先在編譯時,我們必須要把調(diào)試信息加到可執(zhí)行文件中。使用編譯器(cc/gcc/g++)的 -g 參數(shù)可以做到這一點。如:

    gcc -g hello.c -o hello

    g++ -g hello.cpp -o hello

    如果沒有-g,你將看不見程序的函數(shù)名、變量名,所代替的全是運行時的內(nèi)存地址。tmddx用-g把調(diào)試信息加入之后,并成功編譯目標代碼以后,讓我們來看看如何用gdb來調(diào)試他。

    3 啟動GDB的方法

    gdb

    也就是你的執(zhí)行文件,一般在當前目錄下。

    4 程序運行上下文

    4.1 程序運行參數(shù)

    set args 可指定運行時參數(shù)。(如:set args 10 20 30 40 50 )

    show args 命令可以查看設(shè)置好的運行參數(shù)。

    run 啟動程序

    4.2 工作目錄

    cd 相當于shell的cd命令。

    pwd 顯示當前的所在目錄。

    5 設(shè)置斷點

    5.1 簡單斷點

    break 設(shè)置斷點,可以簡寫為b

    b 10 設(shè)置斷點,在源程序第10行

    b func 設(shè)置斷點,在func函數(shù)入口處

    5.2 多文件設(shè)置斷點

    在進入指定函數(shù)時停住:

    C++中可以使用class::或(type,type)格式來指定函數(shù)名。如果有名稱空間,可以使用::class::或者(type,type)格式來指定函數(shù)名。

    break : --在源文件的行處停住

    break : --在源文件的函數(shù)的入口處停住

    break class::或(type,type) --在類class的函數(shù)的入口處停住

    break ::class:: --在名稱空間為的類class的函數(shù)的入口處停住

    5.3 查詢所有斷點

    info b

    6條件斷點

    一般來說,為斷點設(shè)置一個條件,我們使用if關(guān)鍵詞,后面跟其斷點條件。

    設(shè)置一個條件斷點

    b test.c:8 if = 5

    7 維護停止點

    [range...] 刪除指定的斷點,如果不指定斷點號,則表示刪除所有的斷點。range 表示斷點號的范圍(如:3-7)。其簡寫命令為d。

    比刪除更好的一種方法是停止點,了的停止點eclipse如何查看源程序量,GDB不會刪除,tmddx還需要時,即可,就好像回收站一樣。

    [range...]

    所指定的停止點,如果什么都不指定,表示所有的停止點。簡寫命令是dis.

    [range...]

    所指定的停止點eclipse如何查看源程序量,如果什么都不指定,表示所有的停止點。簡寫命令是ena.

    8 調(diào)試代碼

    run 運行程序,可簡寫為r

    next 單步跟蹤,函數(shù)調(diào)用當作一條簡單語句執(zhí)行,可簡寫為n

    step 單步跟蹤,函數(shù)調(diào)進入被調(diào)用函數(shù)體內(nèi),可簡寫為s

    退出進入的函數(shù)

    until 在一個循環(huán)體內(nèi)單步跟蹤時,這個命令可以運行程序直到退出循環(huán)體,可簡寫為u。

    繼續(xù)運行程序,可簡寫為c

    9 查看運行時數(shù)據(jù)

    print 打印變量、字符串、表達式等的值,可簡寫為p

    p count 打印count的值

    10 自動顯示

    你可以設(shè)置一些自動顯示的變量,當程序停住時,或是在你單步跟蹤時,這些變量會自動顯示。相關(guān)的GDB命令是。

    變量名

    info --查看設(shè)置的自動顯示的信息。

    num(info 時顯示的編號)

    dnums… --刪除自動顯示,dnums意為所設(shè)置好了的自動顯式的編號。如果要同時刪除幾個,編號可以用空格分隔,如果要刪除一個范圍內(nèi)的編號,可以用減號表示(如:2-5)

    dnums…

    dnums…

    和不刪除自動顯示的設(shè)置,而只是讓其失效和恢復。

    11. 查看修改變量的值

    (gdb) ptype width -- 查看變量width的類型

    type =

    (gdb) p width -- 打印變量width 的值

    $4 = 13

    你可以使用set var命令來告訴GDB,width不是你GDB的參數(shù),而是程序的變量名,如:

    (gdb) set var width=47

    在你改變程序變量取值時,最好都使用set var格式的GDB命令。

    12 顯示源代碼

    GDB 可以打印出所調(diào)試程序的源代碼,當然,在程序編譯時一定要加上 –g 的參數(shù),把源程序信息編譯到執(zhí)行文件中。不然就看不到源程序了。當程序停下來以后,

    GDB會報告程序停在了那個文件的第幾行上。你可以用list命令來打印程序的源代碼。默認打印10行,還是來看一看查看源代碼的GDB命令吧。

    list

    Print lines line in the file.

    list

    顯示函數(shù)名為的函數(shù)的源程序。

    list

    顯示當前行后面的源程序。

    list -

    顯示當前行前面的源程序。

    一般是打印當前行的上5行和下5行,如果顯示函數(shù)是是上2行下8行,默認是10行,當然,你也可以定制顯示的范圍,使用下面命令可以設(shè)置一次顯示源程序的行數(shù)。

    set count

    設(shè)置一次顯示源代碼的行數(shù)。( the list some other )

    show

    查看當前的設(shè)置。

    清空字段內(nèi)容批量刪除,默認數(shù)據(jù)庫批量刪除安裝和配置環(huán)境教程必須在c盤嗎,安裝與配置

網(wǎng)站首頁   |    關(guān)于我們   |    公司新聞   |    產(chǎn)品方案   |    用戶案例   |    售后服務(wù)   |    合作伙伴   |    人才招聘   |   

友情鏈接: 餐飲加盟

地址:北京市海淀區(qū)    電話:010-     郵箱:@126.com

備案號:冀ICP備2024067069號-3 北京科技有限公司版權(quán)所有