成人黄色在线网站 I 国产aa免费 I 中文字幕免费高清 I 国产三级影院 I 日韩欧美三级在线观看 I 久久久国产精品麻豆a片 I 欧美与黑人午夜性猛交久久久 I 91国产精品视频在线 I 国产美女狂喷水潮在线播放 I 黄页免费网站在线观看 I 欧美日韩激情视频 I 午夜理论无码片在线观看免费 I 深夜爽爽动态图无遮无挡 I 国精产品一区一区三区有限公司杨 I 天天操天天舔天天爽 I 免费看日本黄色片 I 成人va在线 I 日韩中文字幕在线观看 I 婷婷综合网 I 97视频免费观察看 I 色月丁香 I 日韩视频一二三 I 男女黄色毛片 I 美女疯狂连续喷潮视频 I 亚洲日本va一区二区sa I 欧美日韩视频区 I 毛片网在线 I 欧美一本在线 I 少妇一级淫片免费放香蕉 I avav在线看 I 久久精品亚洲中文字幕无码网站 I 天堂av在线中文在线新版 I 电影一区 电影二区 I 色av吧 中文字幕 I 国产精品伊人色

歡迎來到培訓無憂網!

全國切換

咨詢熱線 400-001-5729

位置:培訓無憂網 > 新聞資訊 > 電腦/IT > c語言 >  C++培訓之GDB斷點調試技巧有哪些

C++培訓之GDB斷點調試技巧有哪些

來源:www.hebeijilong.cn 發布人:星星

2021-12-29 14:29:59|已瀏覽:3922次

作為程序員,調試是一項很重要的基本功。調試的技巧和水平,直接決定了解決問題的時間。一般情況下,GDB的基本命令已經足以應付大多數問題了。但是,對于有些問題,還是需要更高級一些的命令。今天給大家介紹GDB功能十分強大的三個調試技巧。checkpoint、condition和ignore。
一,checkpoint
有一些bug,可能很難復現,當好不容易復現一次,且剛剛進入程序的入口時,我們需要珍惜這個來之不易的機會。如果只使用基本命令的話,對于大部分代碼,我們都需要使用step來步進。這樣無疑會耗費大量的時間,因為大部分的代碼可能都沒有問題。可是一旦不小心使用next,結果恰好該語句的函數調用返回出錯。那么對于這次來之不易的機會,我們只得到了部分信息,即確定問題出在該函數,但是哪里出錯還是不清楚。于是還需要再一次的復現bug,時間就這樣浪費了。對于這種問題,是checkpoint大顯身手的時候了。
checkpoint可以看做程序在那一刻的快照,當我們發現錯過了某個調試機會時,可以再次回到checkpoint保存的那個程序狀態。checkpoint的用法很簡單,但是很有用。就是在平時的簡單的bug修正中,也可以加快我們的調試速度——畢竟減少了不必要的重現bug的時間。
二,condition
調試程序時,程序中如果包含循環調用,但想觀察循環中間,此時condition就很有用了,可以根據條件來停止當前的斷點。這個功能很強大,可以在我們設置的條件成立時,自動停止當前的程序,先使用break(或者watch也可以)設置斷點,然后用condition來修改這個斷點的停止(就是斷)的條件。使用方法很簡單,如下:condition <break_number> <expression> 修改當前的斷點停止條件為expression為真值condition <break_number> 清楚斷點號的停止條件,這樣就是一般的斷點了。如,我們想在斷點號為1處,參數args的值為root時才停止(斷點才斷),可以設置如下:condition 1 args="root"。然后如果想清除這個條件,可以這樣condition 1
三,ignore
如果我們不是想根據某一條件表達式來停止,而是想斷點自動忽略前面多少次的停止,從某一次開始才停止,這時ignore就很有用了。ignore break_number count
上面的命令行表示break_number所指定的斷點號將被忽略count次。如:ignore 1 100,表示忽略斷點1的前100次停止。

      注:尊重原創文章,轉載請注明出處和鏈接 http://www.hebeijilong.cn/news-id-10908.html 違者必究!部分文章來源于網絡由培訓無憂網編輯部人員整理發布,內容真實性請自行核實或聯系我們,了解更多相關資訊請關注c語言頻道查看更多,了解相關專業課程信息您可在線咨詢也可免費申請試課。關注官方微信了解更多:150 3333 6050

留下你的信息,課程顧問老師會一對一幫助你規劃更適合你的專業課程!
  • 姓名:

  • 手機:

  • 地區:

  • 想學什么:

  • 培訓無憂網
免 費 申 請 試 聽
提交申請,《培訓無憂網》課程顧問老師會一對一幫助你規劃更適合你的專業課程!