亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

使用GDB程序調試從初級到高級(六)

2019-11-09 15:27:47
字體:
來源:轉載
供稿:網友

轉自:http://blog.csdn.net/haoel/article/details/2884 七、設置顯示選項

GDB中關于顯示的選項比較多,這里我只例舉大多數常用的選項。set PRint address set print address on 打開地址輸出,當程序顯示函數信息時,GDB會顯出函數的參數地址。系統默認為打開的,如: (gdb) f #0 set_quotes (lq=0x34c78 "<<", rq=0x34c88 ">>") at input.c:530 530 if (lquote != def_lquote)set print address off 關閉函數的參數地址顯示,如: (gdb) set print addr off (gdb) f #0 set_quotes (lq="<<", rq=">>") at input.c:530 530 if (lquote != def_lquote)show print address 查看當前地址顯示選項是否打開。set print array set print array on 打開數組顯示,打開后當數組顯示時,每個元素占一行,如果不打開的話,每個元素則以逗號分隔。這個選項默認是關閉的。與之相關的兩個命令如下,我就不再多說了。set print array off show print arrayset print elements <number-of-elements> 這個選項主要是設置數組的,如果你的數組太大了,那么就可以指定一個<number-of-elements>來指定數據顯示的最大長度,當到達這個長度時,GDB就不再往下顯示了。如果設置為0,則表示不限制。show print elements 查看print elements的選項信息。set print null-stop <on/off> 如果打開了這個選項,那么當顯示字符串時,遇到結束符則停止顯示。這個選項默認為off。set print pretty on 如果打開printf pretty這個選項,那么當GDB顯示結構體時會比較漂亮。如: $1 = { next = 0x0, flags = { sweet = 1, sour = 1 }, meat = 0x54 "Pork" }set print pretty off 關閉printf pretty這個選項,GDB顯示結構體時會如下顯示: $1 = {next = 0x0, flags = {sweet = 1, sour = 1}, meat = 0x54 "Pork"}show print pretty 查看GDB是如何顯示結構體的。set print sevenbit-strings <on/off> 設置字符顯示,是否按“/nnn”的格式顯示,如果打開,則字符串或字符數據按/nnn顯示,如“/065”。show print sevenbit-strings 查看字符顯示開關是否打開。 set print union <on/off> 設置顯示結構體時,是否顯式其內的聯合體數據。例如有以下數據結構: typedef enum {Tree, Bug} Species; typedef enum {Big_tree, Acorn, Seedling} Tree_forms; typedef enum {Caterpillar, Cocoon, Butterfly} Bug_forms; struct thing { Species it; union { Tree_forms tree; Bug_forms bug; } form; }; struct thing foo = {Tree, {Acorn}}; 當打開這個開關時,執行 p foo 命令后,會如下顯示: $1 = {it = Tree, form = {tree = Acorn, bug = Cocoon}} 當關閉這個開關時,執行 p foo 命令后,會如下顯示: $1 = {it = Tree, form = {...}}show print union 查看聯合體數據的顯示方式set print object <on/off> 在C++中,如果一個對象指針指向其派生類,如果打開這個選項,GDB會自動按照虛方法調用的規則顯示輸出,如果關閉這個選項的話,GDB就不管虛函數表了。這個選項默認是off。show print object 查看對象選項的設置。set print static-members <on/off> 這個選項表示,當顯示一個C++對象中的內容是,是否顯示其中的靜態數據成員。默認是on。show print static-members 查看靜態數據成員選項設置。set print vtbl <on/off> 當此選項打開時,GDB將用比較規整的格式來顯示虛函數表時。其默認是關閉的。show print vtbl 查看虛函數顯示格式的選項。

八、歷史記錄

當你用GDB的print查看程序運行時的數據時,你每一個print都會被GDB記錄下來。GDB會以$1, $2, $3 .....這樣的方式為你每一個print命令編上號。于是,你可以使用這個編號訪問以前的表達式,如$1。這個功能所帶來的好處是,如果你先前輸入了一個比較長的表達式,如果你還想查看這個表達式的值,你可以使用歷史記錄來訪問,省去了重復輸入。

九、GDB環境變量

你可以在GDB的調試環境中定義自己的變量,用來保存一些調試程序中的運行數據。要定義一個GDB的變量很簡單只需。使用GDB的set命令。GDB的環境變量和UNIX一樣,也是以$起頭。如:set $foo = *object_ptr使用環境變量時,GDB會在你第一次使用時創建這個變量,而在以后的使用中,則直接對其賦值。環境變量沒有類型,你可以給環境變量定義任一的類型。包括結構體和數組。show convenience 該命令查看當前所設置的所有的環境變量。這是一個比較強大的功能,環境變量和程序變量的交互使用,將使得程序調試更為靈活便捷。例如: set $i = 0 print bar[$i++]->contents于是,當你就不必,print bar[0]->contents, print bar[1]->contents地輸入命令了。輸入這樣的命令后,只用敲回車,重復執行上一條語句,環境變量會自動累加,從而完成逐個輸出的功能。

十、查看寄存器

要查看寄存器的值,很簡單,可以使用如下命令:info registers 查看寄存器的情況。(除了浮點寄存器)info all-registers 查看所有寄存器的情況。(包括浮點寄存器)info registers <regname ...> 查看所指定的寄存器的情況。寄存器中放置了程序運行時的數據,比如程序當前運行的指令地址(ip),程序的當前堆棧地址(sp)等等。你同樣可以使用print命令來訪問寄存器的情況,只需要在寄存器名字前加一個$符號就可以了。如:p $eip。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美日韩国内自拍| 91免费版网站入口| 日韩人体视频一二区| 亚洲天天在线日亚洲洲精| 欧美插天视频在线播放| 国产一区二区视频在线观看| 欧美成人免费全部观看天天性色| 久久久久久免费精品| 亚洲xxxx3d| 日韩网站免费观看高清| 成人免费高清完整版在线观看| 久久精品久久久久久| 日韩精品欧美国产精品忘忧草| 欧美日韩国产在线看| 国产一区二区久久精品| 亚洲综合日韩中文字幕v在线| 亚洲成人免费在线视频| 日本精品性网站在线观看| 国产精品久久久久久久天堂| 欧美成人精品在线视频| 最近中文字幕mv在线一区二区三区四区| 欧美日韩精品在线观看| 中文在线资源观看视频网站免费不卡| 日韩乱码在线视频| 少妇激情综合网| 日韩极品精品视频免费观看| 国产日韩中文字幕| 曰本色欧美视频在线| 91地址最新发布| 91精品国产综合久久香蕉最新版| 国产精品影片在线观看| 亚洲国产精品一区二区三区| 中文日韩在线视频| 成人黄色网免费| 91亚洲永久免费精品| 欧美在线观看网站| 欧美激情亚洲激情| 日韩激情视频在线| 91色中文字幕| 亚洲人免费视频| 欧美丝袜美女中出在线| 欧美激情性做爰免费视频| 精品无人国产偷自产在线| 久久的精品视频| 久久久成人精品| 96sao精品视频在线观看| 九九精品视频在线观看| 91在线高清免费观看| 亚洲国产精品福利| 欧美丰满少妇xxxxx做受| 国产精品偷伦免费视频观看的| 欧美性感美女h网站在线观看免费| 欧美黄网免费在线观看| 国产999在线观看| 国产精品高潮呻吟久久av无限| 欧美精品在线第一页| 欧美激情视频一区二区三区不卡| 国产亚洲激情在线| 97久久精品人搡人人玩| 国产一区二区三区视频| 日韩欧美一区视频| 亚洲精品成a人在线观看| 久久久久久国产三级电影| 久久久久北条麻妃免费看| 欧美在线视频观看| 久久久噜噜噜久久| 亚洲成人网在线观看| 欧美视频国产精品| 97福利一区二区| 成人444kkkk在线观看| 亚洲最大的网站| 91成人精品网站| 中文字幕一区电影| 欧美激情影音先锋| 国产精品一区二区三区免费视频| 久久久久亚洲精品成人网小说| 日韩美女视频在线观看| 乱亲女秽乱长久久久| 亚洲已满18点击进入在线看片| 国产亚洲精品美女久久久| 久久久久中文字幕2018| 久久久久久久久国产精品| 97久久超碰福利国产精品…| 91久久久久久久久久久| 成人免费在线网址| 亚洲最新视频在线| 久久色免费在线视频| 国外色69视频在线观看| 日本久久久a级免费| 成人免费看黄网站| 日韩免费观看av| 97碰在线观看| 国产精品成人播放| 国产精品久久久久7777婷婷| 日韩精品免费在线视频观看| 国产盗摄xxxx视频xxx69| 日韩在线中文字| 亚洲成人黄色网| 亚洲午夜精品久久久久久性色| 中文字幕视频在线免费欧美日韩综合在线看| 在线观看欧美www| 欧美一级黑人aaaaaaa做受| 亚洲视频精品在线| 92版电视剧仙鹤神针在线观看| 国产精品成人久久久久| 精品福利视频导航| 欧美午夜精品久久久久久人妖| 伦理中文字幕亚洲| 久久久999国产精品| 日韩亚洲欧美中文高清在线| 国产一区二区在线免费视频| 久久香蕉国产线看观看av| 深夜福利91大全| 国产精品入口免费视| 久久精品国产96久久久香蕉| 精品国产91久久久久久老师| 日韩中文字幕在线精品| 亚洲综合社区网| 亚洲人成电影网站| 国产精品视频精品| 久久69精品久久久久久国产越南| 一区二区三区视频观看| 国产不卡在线观看| 精品无人区乱码1区2区3区在线| 日韩在线观看视频免费| 国产亚洲一区二区精品| 国产精品99免视看9| 亚洲人成网站999久久久综合| 欧美性猛交xxxx黑人猛交| 精品国产欧美一区二区五十路| 亚洲人免费视频| 中文字幕亚洲自拍| 国产精品成人aaaaa网站| 粉嫩av一区二区三区免费野| 精品久久久久久久久久久久久| 亚洲黄一区二区| 国产91在线播放精品91| 日韩高清电影好看的电视剧电影| 一区二区三区无码高清视频| 91午夜在线播放| 日韩电影中文字幕av| 欧美在线不卡区| 日本久久久久亚洲中字幕| 欧美激情第一页xxx| 国产丝袜一区二区| 91久久精品视频| 456国产精品| 亚洲一区久久久| 久久久国产精品免费| 欧美成人免费视频| 欧美日韩一区二区在线播放| 欧美精品成人91久久久久久久| 91免费在线视频网站| 成人av.网址在线网站| 久久久精品免费视频| 国产精品69精品一区二区三区| 亚洲色图国产精品| 欧美日本中文字幕| www.日韩不卡电影av| 欧美成人黄色小视频| 国产欧美一区二区三区久久人妖| 高跟丝袜一区二区三区| 国产一区私人高清影院| 国产91在线播放九色快色|