青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

隨筆-19  評論-21  文章-0  trackbacks-0

經(jīng)常使用這些工具,有那么些功能卻不常用,也不知道。

1. gdb

a.  .gdbinit

gdb運(yùn)行時(shí)會(huì)首先加載 ~/.gdbinit文件

例如:我在debug時(shí),每次都需要進(jìn)行handle SIGBUS noprint pass來處理SIGBUS信號,這種情況就可以把它寫入 .gdbinit文件。

在.gdbinit里也可以定義函

  eg:  在.gdbinit里定義print_regs
     def print_regs
        i r eax ebx ecx edx
     end

  (gdb) print_regs
  eax            0xbffff4a4    -1073744732
  ebx            0x28bff4    2670580
  ecx            0x902c5562    -1876142750
  edx            0x1    1

b. 在GDB中,可以使用命令up或down在棧中移動(dòng)!上下移動(dòng)棧,查詢變量和內(nèi)存的值。這個(gè)有什么好處呢?

看看如下的例子就知道了

test0(a){
    int m = GetNumber();
    test1(b);
}
test1(b){
    test3(c);
}

執(zhí)行到test3(c)的時(shí)候,如果你想看看test0中的變量m的值是多少,怎么辦?這時(shí)就可以使用up了,up到test0的棧時(shí)就可以直接print m的值了。很方便!

c. 設(shè)置臨時(shí)斷點(diǎn) tbreak

d. 如果watch變量不好用,可以watch它的地址

e. return 和jump命令

  return <expr> :return 從函數(shù)退出,跳過剩下的語句。

  jump :跳過或重新執(zhí)行當(dāng)前函數(shù)中的語句。

f. shared library

可以顯示哪些DLL已經(jīng)載入,并且為尚未載入調(diào)試信息的DLL載入調(diào)試信息

g. 按下Ctrl + C,只是暫停程序,程序還可以繼續(xù)運(yùn)行。

h. 注意設(shè)置條件斷點(diǎn)有可能會(huì)影響執(zhí)行速度。

如果需要在某條執(zhí)行特別頻繁的語句上設(shè)置條件斷點(diǎn),則比較好的方法是在代碼中直接插入源代碼做判斷,這樣速度更快。

2.  strace

在進(jìn)行以下高度時(shí)可以考慮使用strace:

a. 查明哪些文件被打開了

b. 在OS全程中未捕獲的錯(cuò)誤或中斷。用strace查找返回的錯(cuò)誤值,并再次核對源代碼 是否處理了這些值

c. 調(diào)試性能問題,看OS調(diào)用的頻率

d. 查看內(nèi)存分配、釋放、映射的情況。

3. gcc

gcc -E 可以觀察預(yù)處理器的輸出。這樣,宏出錯(cuò)時(shí)可以看看為什么。

4. 設(shè)置LD_DEBUGS有點(diǎn)用


$ export LD_DEBUG=libs
$ ./a.out
      1715:    find library=libc.so.6 [0]; searching
      1715:     search cache=/etc/ld.so.cache
      1715:      trying file=/lib/i386-linux-gnu/libc.so.6
      1715:   
      1715:   
      1715:    calling init: /lib/i386-linux-gnu/libc.so.6
      1715:   
      1715:   
      1715:    initialize program: ./a.out
      1715:   
      1715:   
      1715:    transferring control: ./a.out
      1715:   
hello
      1715:   
      1715:    calling fini: ./a.out [0]
      1715:   
      1715:   
      1715:    calling fini: /lib/i386-linux-gnu/libc.so.6 [0]
      1715:   
$ export LD_DEBUG=help
$ ./a.out
Valid options for the LD_DEBUG environment variable are:

  libs        display library search paths
  reloc       display relocation processing
  files       display progress for input file
  symbols     display symbol table processing
  bindings    display information about symbol binding
  versions    display version dependencies
  all         all previous options combined
  statistics  display relocation statistics
  unused      determined unused DSOs
  help        display this help message and exit

To direct the debugging output into a file instead of standard output
a filename can be specified using the LD_DEBUG_OUTPUT environment variable.

posted on 2011-05-17 21:14 hex108 閱讀(2694) 評論(3)  編輯 收藏 引用 所屬分類: Program

評論:
# You?ve got it in one. Cuodln?t have put it better. 2011-05-25 21:10 | Bubber
You?ve got it in one. Cuodln?t have put it better.  回復(fù)  更多評論
  
# re: gdb,strace那些不常用的功能 2011-05-26 09:48 | hex108
@Bubber
They're short,so I put them together.  回復(fù)  更多評論
  
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            久久婷婷av| 亚洲精品一二| 欧美在线免费播放| 午夜精品美女久久久久av福利| 国内外成人免费激情在线视频| 亚洲欧美日韩久久精品| 国产精品久久久久久久久久免费| 久久免费一区| 亚洲美女少妇无套啪啪呻吟| 日韩网站在线观看| 国产精品视频yy9299一区| 老司机一区二区三区| 国内精品久久久久久| 一本久久a久久精品亚洲| 午夜免费久久久久| 欧美手机在线视频| 免费在线看一区| 亚洲欧洲一区二区三区| 亚洲午夜激情网站| 国产综合色精品一区二区三区| 久久综合色婷婷| 亚洲伊人伊色伊影伊综合网| 午夜精品电影| 久久婷婷亚洲| 欧美久久久久久久久| 欧美在线亚洲在线| 亚洲国产老妈| 亚洲天堂黄色| 亚洲午夜激情| 免费成人毛片| 麻豆av一区二区三区| 国产午夜精品久久| 亚洲人成高清| 欧美大尺度在线| 欧美电影免费观看高清| 欧美一级免费视频| 欧美亚韩一区| 国产一区二区无遮挡| 国产一区二区欧美日韩| 欧美日韩精品在线播放| 久久亚洲二区| 亚洲免费观看在线视频| 香蕉久久精品日日躁夜夜躁| 性做久久久久久久久| 亚洲精品极品| 欧美日韩激情小视频| 久久成人亚洲| 亚洲一区尤物| 麻豆成人在线播放| 在线中文字幕不卡| 欧美国产亚洲视频| 亚洲国产成人在线播放| 可以看av的网站久久看| 国产精品mv在线观看| 国产真实乱子伦精品视频| 午夜视频久久久| 欧美四级在线观看| 国产一区自拍视频| 亚洲国产清纯| 欧美激情一二三区| 米奇777超碰欧美日韩亚洲| 亚洲区一区二区三区| 亚洲伊人一本大道中文字幕| 国产一区二区三区的电影| 亚洲高清在线观看一区| 亚洲欧美激情在线视频| 黄色影院成人| 国产一区二区成人久久免费影院| 免费成人在线观看视频| 一本色道久久综合亚洲精品不| 亚洲美女黄网| 亚洲一区二区在线播放| 在线播放豆国产99亚洲| 亚洲欧洲精品一区| 亚洲一区二区欧美日韩| 亚洲国产专区校园欧美| 亚洲欧美日本日韩| 久久国产天堂福利天堂| 亚洲激情在线激情| 亚洲一区bb| 91久久嫩草影院一区二区| 欧美精品在线观看播放| 亚洲一区二区av电影| 久久久综合香蕉尹人综合网| 亚洲一品av免费观看| 麻豆久久婷婷| 欧美日韩播放| 亚洲欧美日韩在线| 欧美日精品一区视频| 欧美成人免费播放| 黄色日韩精品| 快射av在线播放一区| 在线亚洲欧美视频| 性伦欧美刺激片在线观看| 亚洲免费网站| 一本色道久久综合精品竹菊 | 欧美一区二区三区精品电影| 欧美激情影院| 欧美日韩在线免费| aa级大片欧美三级| 久久久久国产精品人| 一区在线免费观看| 久久婷婷蜜乳一本欲蜜臀| 久热爱精品视频线路一| 国产日韩欧美日韩| 国产亚洲欧美一区二区| 亚洲人屁股眼子交8| 91久久黄色| 久久亚洲国产成人| av成人免费| 久久久久久穴| 亚洲观看高清完整版在线观看| 久久久99久久精品女同性| 亚洲免费黄色| 欧美一区二区视频在线| 久久久青草婷婷精品综合日韩| 亚洲成色www8888| 久久久国产精品亚洲一区| 99精品国产热久久91蜜凸| 欧美劲爆第一页| 国产人成精品一区二区三| 午夜日韩激情| 亚洲综合色自拍一区| 国产精品黄视频| 久久9热精品视频| 欧美视频一区| 久久久噜噜噜久久人人看| 久久一区中文字幕| 亚洲欧美另类国产| 国产精品久久久久久久免费软件| 亚洲精品免费看| 亚洲欧美国产77777| 欧美专区日韩视频| 午夜精品久久久久久久久久久久久| 欧美国产日韩xxxxx| 欧美国产精品劲爆| 国产模特精品视频久久久久| 亚洲欧美综合国产精品一区| 亚洲一区在线播放| 久久免费视频在线| 91久久久久| 欧美在线免费播放| 亚洲第一区色| 亚洲欧美日韩精品久久| 亚洲午夜久久久久久尤物 | 欧美三级午夜理伦三级中视频| 西瓜成人精品人成网站| 欧美午夜久久| 久久视频免费观看| 日韩视频第一页| 国产日韩成人精品| 亚洲黄色一区二区三区| 国产精品午夜电影| 亚洲大片精品永久免费| 国内一区二区在线视频观看 | 99国产精品私拍| 欧美系列电影免费观看| 久久久午夜精品| 国产日韩av一区二区| 美脚丝袜一区二区三区在线观看 | 一区二区三区精密机械公司 | 亚洲一区二区三区涩| 欧美三级在线视频| 亚洲精品资源| 久久五月天婷婷| 亚欧成人精品| 欧美在线一区二区| 一区二区三区高清在线| 国产精品视频免费| 欧美日本三级| 久久午夜电影网| 久久精品久久99精品久久| 欧美在线啊v| 久久一区精品| 亚洲摸下面视频| 午夜欧美精品久久久久久久| 亚洲免费观看在线观看| 一本色道久久加勒比精品| 男女精品视频| 久久青草欧美一区二区三区| 亚洲在线第一页| 国产精品资源在线观看| 欧美午夜精品理论片a级大开眼界| 宅男66日本亚洲欧美视频| 亚洲黄色毛片| 国产亚洲欧美一区二区| 久久综合五月| 欧美电影免费观看大全| 欧美成人精品一区二区三区| 91久久精品国产91久久性色tv| 欧美一区二区三区啪啪| 国产精品国产精品国产专区不蜜| 国产欧美在线观看一区| 欧美激情一区二区三区在线| 免费不卡中文字幕视频| 麻豆国产精品一区二区三区 | 亚洲国产精品免费| 99日韩精品| 久久大综合网| 久久久99爱|