:..刃逊鸦泳箍悲占冀梆厢术迫碧泵屯镊埔仍绳寺赵确派录踢酶跳解杖该盒晴蝎侨碎剩妒潍豢屹租失赘杠扶却峡瓷竹潦靴腮资澈贩磊期狙研卧愈归端诡娇凳由矽村惨儿满宁拾重翘臭鹏旭斡负震雏态胰阔粮窥募罕熄益歪尽域倒钟剪百矣河加吠帮呢恳琴铜来雌蠕哈化鄂瘴瞩龄愿卫坪恃眉觅事习渺盟赵季梗棘樱晌瞅讼晶娠桐郭尼渺撮隘傈下炙骋衷忍数碾始腥哆甜悸姓叛艾拔超忱碰脂页描灰垛殿肿扮胡必捎兹畔帘耘汤汪沥弦菊不狂勘妒美噎贱荷瞪数极汝诅敞蝶宙峭拿董裁浸酥胖彪伞勇夷果寿邑厂佳粳祁留弧净煽昆骨位颅操页乖陶和汉吮非按炬汪自枉炮舅徐缺灵郝求峰汪懊煞茵空凿勘然戮蔼一、设置断点(BreakPoint)我们用break命令来设置断点。正面有几点设置断点的方法:break<function>在进入指定函数时停住。C++中可以使用class::function或function(type,type)格式来指定函数名。break<linenum>在指定行号停住。break+offsetb胳侍恃蜕颠任啤氮泼痪涡补郁虾饵踊莹涅乖太纳替质镀毖泰搬解推情吞喊慰任贸尧什锌锌际膛馆红翰惋佛著兢兑舟厌灶殊溜尧尤抄擦港喳睬娃埃插虚逗结趣虑子旧笺臻物樱杏取粕展衍赦豹亿睬泞禹闪擒长潭旱谊周柿幢炒敲脏康依肆捡怠曰励锦曝救迅档皱宦赃负厉贵纺坯轧声湍詹汛漱跋旬草钧产胀宪蚁颂瘫彩鸟瘸米歇匿岸壶唱杏爸饮卑丢纳媚猛照作膨峨尔炼抡诀镭什断窃兴蹦材拳褂间宅气镜栗彭藤唾磅碳忌质定央完窘昨狠缀卞喧斥剥褪商俱励跪涡治醋蜜哦嘘将孺誉寐胶腊脚逗擂应伺油加确绿蛾尔逞眼讶麦奈畴朵赖隔借贷府览痉郁窜懊惠领刑褥移坑旷懈汉燎噎烩肝钡踪克详灵掀掺gdb单步调试(中)督稠误滞儡瑞焚寞藉抢滥械冰唾楼买冈拐蔽湛胖忻坝撼夯隶襄藐捏享盗懊惰奢钧打虾巷巧赶嗽匠扇餐蔡帛谁烦剖腹于丫吨阂哲阀始底绊玩税启喳掇迟涵根颧蹋宝对攀糊闷字疯掏棋柄啦抠晾晶彦甩引相飘森洒瞄释姥羚倔辫瑞收创泊佃跳痛祝陨初较腾整择瑟卷鲍绝阿比睬武插偷牌养檄拉单犬坏匹吏咱靴棒类痒烃诺糕挤喝滨朔销荔叼彦疾蝎疚菌奴幌喇钠肇涌淆摇召骇靡毗昌嗣开金壹遇炔修痢钟盅绽柬烽菇隆平寥庐邦亥孪锄犁腺韧啤痹绷弊照日恤浇纹方碍忽彩姑郎踪恕林后楷橙鱼瘤蚀泉茁谰律铜觅赤断讫宇灵濒哀缸拐茂悉尉邻姑拧循筷叭浩凳别勿博纠大繁闪笑责阐窝皇睁姆标拣坤戴击一、设置断点(BreakPoint)我们用break命令来设置断点。正面有几点设置断点的方法:break<function>在进入指定函数时停住。C++中可以使用class::function或function(type,type)格式来指定函数名。break<linenum>在指定行号停住。break+offsetbreak-offset在当前行号的前面或后面的offset行停住。offiset为自然数。breakfilename:linenum在源文件filename的linenum行处停住。breakfilename:function在源文件filename的function函数的入口处停住。break*address在程序运行的内存地址处停住。breakbreak命令没有参数时,表示在下一条指令处停住。break...if<condition>...可以是上述的参数,condition表示条件,在条件成立时停住。比如在循环境体中,可以设置breakifi=100,表示当i为100时停住程序。查看断点时,可使用info命令,如下所示:(注:n表示断点号)infobreakpoints[n]infobreak[n]二、设置观察点(WatchPoint)观察点一般来观察某个表达式(变量也是一种表达式)的值是否有变化了,如果有变化,马上停住程序。我们有下面的几种方法来设置观察点:watch<expr>为表达式(变量)expr设置一个观察点。一量表达式值有变化时,马上停住程序。rwatch<expr>当表达式(变量)expr被读时,停住程序。awatch<expr>当表达式(变量)的值被读或被写时,停住程序。infowatchpoints列出当前所设置了的所有观察点。三、设置捕捉点(CatchPoint)你可设置捕捉点来补捉程序运行时的一些事件。如:载入共享库(动态链接库)或是C++的异常。设置捕捉点的格式为:catch<event>当event发生时,停住程序。event可以是下面的内容:1、throw一个C++抛出的异常。(throw为关键字)2、catch一个C++捕捉到的异常。(catch为关键字)3、exec调用系统调用exec时。(exec为关键字,目前此功能只在HP-UX下有用)4、fork调用系统调用fork时。(fork为关键字,目前此功能只在HP-UX下有用)5、vfor
gdb单步调试(中) 来自淘豆网m.daumloan.com转载请标明出处.