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

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
gdb常用命令 — Windows Live
2009/10/9

gdb常用命令

調(diào)用gdb編譯需要在cc后面加 -g參數(shù)再加-o;
[root@redhat home]#gdb 調(diào)試文件:啟動gdb
(gdb) l :(字母l)從第一行開始列出源碼
(gdb) break n :在第n行處設(shè)置斷點
(gdb) break func:在函數(shù)func()的入口處設(shè)置斷點
(gdb) info break: 查看斷點信息
(gdb) r:運行程序
(gdb) n:單步執(zhí)行
(gdb) c:繼續(xù)運行
(gdb) p 變量 :打印變量的值
(gdb) bt:查看函數(shù)堆棧
(gdb) finish:退出函數(shù)
(gdb) shell 命令行:執(zhí)行shell命令行
(gdb) set args 參數(shù):指定運行時的參數(shù)
(gdb) show args:查看設(shè)置好的參數(shù)
(gdb) show paths:查看程序運行路徑;
           set environment varname [=value] 設(shè)置環(huán)境變量。如:set env USER=hchen;
            show environment [varname] 查看環(huán)境變量;
(gdb) cd 相當于shell的cd;
(gdb)pwd :顯示當前所在目錄
(gdb)info program: 來查看程序的是否在運行,進程號,被暫停的原因。
(gdb)clear 行號n:清除第n行的斷點
(gdb)delete 斷點號n:刪除第n個斷點
(gdb)disable 斷點號n:暫停第n個斷點
(gdb)enable 斷點號n:開啟第n個斷點
(gdb)step:單步調(diào)試如果有函數(shù)調(diào)用,則進入函數(shù);與命令n不同,n是不進入調(diào)用的函數(shù)的
list :簡記為 l ,其作用就是列出程序的源代碼,默認每次顯示10行。
list 行號:將顯示當前文件以“行號”為中心的前后10行代碼,如:list 12
list 函數(shù)名:將顯示“函數(shù)名”所在函數(shù)的源代碼,如:list main
list :不帶參數(shù),將接著上一次 list 命令的,輸出下邊的內(nèi)容。
注意 :如果運行l(wèi)ist 命令得到類似如下的打印,那是因為在編譯程序時沒有加入 -g 選項:
(gdb) list
1       ../sysdeps/i386/elf/start.S: No such file or directory.
        in ../sysdeps/i386/elf/start.S
 
run:簡記為 r ,其作用是運行程序,當遇到斷點后,程序會在斷點處停止運行,等待用戶輸入下一步的命令。
回車:重復(fù)上一條命令。
set args:設(shè)置運行程序時的命令行參數(shù),如:set args 33 55
show args:顯示命令行參數(shù)
continue:簡訊為 c ,其作用是繼續(xù)運行被斷點中斷的程序。
break:為程序設(shè)置斷點。
break 行號:在當前文件的“行號”處設(shè)置斷點,如:break  33
break 函數(shù)名:在用戶定義的函數(shù)“函數(shù)名”處設(shè)置斷點,如:break cb_button
info breakpoints:顯示當前程序的斷點設(shè)置情況
disable breakpoints Num:關(guān)閉斷點“Num”,使其無效,其中“Num”為 info breakpoints 中顯示的對應(yīng)值
enable breakpoints Num:打開斷點“Num”,使其重新生效
step:簡記為 s ,單步跟蹤程序,當遇到函數(shù)調(diào)用時,則進入此函數(shù)體(一般只進入用戶自定義函數(shù))。
next:簡記為 n,單步跟蹤程序,當遇到函數(shù)調(diào)用時,也不進入此函數(shù)體;此命令同 step 的主要區(qū)別是,step 遇到用戶自定義的函數(shù),將步進到函數(shù)中去運行,而 next 則直接調(diào)用函數(shù),不會進入到函數(shù)體內(nèi)。
until:當你厭倦了在一個循環(huán)體內(nèi)單步跟蹤時,這個命令可以運行程序直到退出循環(huán)體。
finish: 運行程序,直到當前函數(shù)完成返回,并打印函數(shù)返回時的堆棧地址和返回值及參數(shù)值等信息。
stepi或nexti:單步跟蹤一些機器指令。
print 表達式:簡記為 p ,其中“表達式”可以是任何當前正在被測試程序的有效表達式,比如當前正在調(diào)試C語言的程序,那么“表達式”可以是任何C語言的有效表達式,包括數(shù)字,變量甚至是函數(shù)調(diào)用。
print a:將顯示整數(shù) a 的值
print ++a:將把 a 中的值加1,并顯示出來
print name:將顯示字符串 name 的值
print gdb_test(22):將以整數(shù)22作為參數(shù)調(diào)用 gdb_test() 函數(shù)
print gdb_test(a):將以變量 a 作為參數(shù)調(diào)用 gdb_test() 函數(shù)
bt:顯示當前程序的函數(shù)調(diào)用堆棧。
display 表達式:在單步運行時將非常有用,使用display命令設(shè)置一個表達式后,它將在每次單步進行指令后,緊接著輸出被設(shè)置的表達式及值。如: display a
watch 表達式:設(shè)置一個監(jiān)視點,一旦被監(jiān)視的“表達式”的值改變,gdb將強行終止正在被調(diào)試的程序。如: watch a
kill:將強行終止當前正在調(diào)試的程序
help 命令:help 命令將顯示“命令”的常用幫助信息
call 函數(shù)(參數(shù)):調(diào)用“函數(shù)”,并傳遞“參數(shù)”,如:call  gdb_test(55)
layout:用于分割窗口,可以一邊查看代碼,一邊測試:
layout src:顯示源代碼窗口
layout asm:顯示反匯編窗口
layout regs:顯示源代碼/反匯編和CPU寄存器窗口
layout split:顯示源代碼和反匯編窗口
Ctrl + L:刷新窗口
quit:簡記為 q ,退出gdb
當然,gdb的功能遠不止這些,包括多進程/多線程/信號/遠程調(diào)試等功能在這里均沒有提及,有需要的讀者可以參考其它信息

本文來自CSDN博客,轉(zhuǎn)載請標明出處:http://blog.csdn.net/gnuhpc/archive/2009/07/21/4368831.aspx
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
除錯專家---程序調(diào)試的利器GDB
Gdb調(diào)試精粹及使用實例
用gdb調(diào)試C與C++程序
gdb使用方法簡介
GDB 進行調(diào)試 使用心得
使用gdb進行調(diào)試中級篇
更多類似文章 >>
生活服務(wù)
熱點新聞
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服