九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
gdb調(diào)試

參考鏈接:https://blog.csdn.net/niyaozuozuihao/article/details/91802994

  1. 首先使用gcc -g ~.c -o ~ 這里使用-g參數(shù)生成調(diào)試信息 將要調(diào)試的.c文件生成帶調(diào)試信息的可執(zhí)行文件。
  2. 用gdb (-q參數(shù)可以不打印gdb版本信息,界面較為干凈) ./~(可執(zhí)行文件名)進(jìn)入調(diào)試頁面。

?

遇到的問題:缺少依賴庫 使用debuginfo-install coreutils-8.22-24.el7.x86_64安裝 問題CentOS網(wǎng)絡(luò)配置默認(rèn)未連接 手動(dòng)設(shè)置網(wǎng)絡(luò)連接后問題解決。

?

  1. gdb調(diào)試下一些命令
    1. list(l):顯示源程序代碼 默認(rèn)顯示10行 按回車鍵繼續(xù)顯示

list 行號(hào):將顯示當(dāng)前文件以“行號(hào)”為中心的前后10行代碼,如:list 12;

list 函數(shù)名:將顯示“函數(shù)名”所在函數(shù)的源代碼,如:list main;

list :不帶參數(shù),將接著上一次 list 命令的,輸出下邊的內(nèi)容。

  1. run(r):運(yùn)行程序直到遇到結(jié)束或者斷點(diǎn)等待下一個(gè)命令
  2. break(b):格式b行號(hào),意為在某行設(shè)置斷點(diǎn)。

Info breakpoints(簡(jiǎn)寫為info b):顯示斷點(diǎn)信息

(1.Num:斷點(diǎn)編號(hào)2.Disp:斷點(diǎn)執(zhí)行一次之后是否有效 keep有效 diss無效3.Enb:當(dāng)前斷點(diǎn)是否有效 y:有效 n:無效 Address:內(nèi)存地址 What:位置);

b fn1 if a>b:條件斷點(diǎn)設(shè)置;

break func(break縮寫為b):在函數(shù)func()的入口處設(shè)置斷點(diǎn),如:break cb_button;

delete 斷點(diǎn)號(hào)n:刪除第n個(gè)斷點(diǎn);

disable 斷點(diǎn)號(hào)n:暫停第n個(gè)斷點(diǎn);

enable 斷點(diǎn)號(hào)n:開啟第n個(gè)斷點(diǎn);

clear 行號(hào)n:清除第n行的斷點(diǎn);

delete breakpoints:清除所有斷點(diǎn)。

  1. 單步執(zhí)行 使用 continue、step、next命令

next(簡(jiǎn)寫n):單步執(zhí)行程序,但是遇到函數(shù)時(shí)會(huì)直接跳過函數(shù),不進(jìn)入函數(shù);

step(簡(jiǎn)寫s):單步執(zhí)行程序,但是遇到函數(shù)會(huì)進(jìn)入函數(shù);

continue(簡(jiǎn)寫c):繼續(xù)執(zhí)行程序,直到下一個(gè)斷點(diǎn)或者結(jié)束;

until:當(dāng)你厭倦了在一個(gè)循環(huán)體內(nèi)單步跟蹤時(shí),這個(gè)命令可以運(yùn)行程序直到退出循環(huán)體;

until 行號(hào):運(yùn)行至某行,不僅僅用來跳出循環(huán);

finish: 運(yùn)行程序,直到當(dāng)前函數(shù)完成返回,并打印函數(shù)返回時(shí)的堆棧地址和返回值及參數(shù)值等信息;

call 函數(shù)(參數(shù)):調(diào)用程序中可見的函數(shù),并傳遞“參數(shù)”,如:call gdb_test(55)。

  1. 查看變量 使用print、whatis命令

display 表達(dá)式:在單步運(yùn)行時(shí)將非常有用,使用display命令設(shè)置一個(gè)表達(dá)式后,它將在每次單步進(jìn)行指令后,緊接著輸出被設(shè)置的表達(dá)式及值。如:display a;

watch 表達(dá)式:設(shè)置一個(gè)監(jiān)視點(diǎn),一旦被監(jiān)視的“表達(dá)式”的值改變,gdb將強(qiáng)行終止正在被調(diào)試的程序。如:watch a;

info function:查詢函數(shù);
擴(kuò)展info locals:顯示當(dāng)前堆棧頁的所有變量

  1. 查看運(yùn)行信息

where/bt :當(dāng)前運(yùn)行的堆棧列表;
bt backtrace 顯示當(dāng)前調(diào)用堆棧;
up/down 改變堆棧顯示的深度;
set args 參數(shù):指定運(yùn)行時(shí)的參數(shù);
show args:查看設(shè)置好的參數(shù);
info program: 來查看程序的是否在運(yùn)行,進(jìn)程號(hào),被暫停的原因。

  1. 分割窗口

layout:用于分割窗口,可以一邊查看代碼,一邊測(cè)試;
layout src:顯示源代碼窗口;
layout asm:顯示反匯編窗口;
layout regs:顯示源代碼/反匯編和CPU寄存器窗口;
layout split:顯示源代碼和反匯編窗口;
Ctrl L:刷新窗口。

    1. 退出gdb,quit(簡(jiǎn)記為q)
來源:https://www.icode9.com/content-4-742051.html
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
gdb常用命令 — Windows Live
gdb使用方法簡(jiǎn)介
關(guān)于在Linux系統(tǒng)中的gdb命令知識(shí)
GDB調(diào)試命令整理
用gdb調(diào)試C與C++程序
gdb調(diào)試程序之單步調(diào)試【三】
更多類似文章 >>
生活服務(wù)
熱點(diǎn)新聞
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服