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

一動不如一靜

C++博客 首頁 新隨筆 聯系 聚合 管理
  20 Posts :: 0 Stories :: 10 Comments :: 0 Trackbacks

有時候我們的程序crash了,會出現一個crash界面提示我們在什么位置中斷了。我們如何根據這個中斷地址找到對應的行號呢?

要想達到這樣的目的,首先要進行一些工程屬性的配置。

c/c++->常規->調試信息格式->程序數據庫
c/c++->優化->優化->禁用
鏈接器->調試->生成調試信息->是
            ->生成映射文件->是
            ->映射文件名稱->$(OutDir)/$(ProjectName).map
            ->映射導出->是
            ->映射行->是

1    int main (int argc, char* argv[])
2   {
3       char * p = 0;
4       *p = 'c';
5       return 0;
6 }

當執行程序的時候,顯示“test1.exe中的0x0040100e處未處理的異常:0xc000005:寫入位置0x00000000時發生訪問沖突”


這個時候來看一下map文件。首先看到的是參考的加載地址: Preferred load address is 00400000

Timestamp is 4639462c (Thu May 03 10:17:16 2007)

 Preferred load address is 00400000

 Start         Length     Name                   Class
 0001:00000000 00003b58H .text                   CODE
 0002:00000000 000000c4H .idata$5                DATA
 0002:000000d0 00000c40H .rdata                  DATA
 0002:00000d10 00000048H .rdata$debug            DATA
 0002:00000d60 00000008H .rdata$sxdata           DATA
 0002:00000d68 00000004H .rtc$IAA                DATA
 0002:00000d6c 00000004H .rtc$IZZ                DATA
 0002:00000d70 00000004H .rtc$TAA                DATA
 0002:00000d74 00000004H .rtc$TZZ                DATA
 0002:00000d78 00000014H .idata$2                DATA
 0002:00000d8c 00000014H .idata$3                DATA
 0002:00000da0 000000c4H .idata$4                DATA
 0002:00000e64 00000366H .idata$6                DATA
 0002:000011ca 00000000H .edata                  DATA
 0003:00000000 00000004H .CRT$XCA                DATA
 0003:00000004 00000004H .CRT$XCAA               DATA
 0003:00000008 00000004H .CRT$XCZ                DATA
 0003:0000000c 00000004H .CRT$XIA                DATA
 0003:00000010 00000008H .CRT$XIC                DATA
 0003:00000018 00000004H .CRT$XIZ                DATA
 0003:0000001c 00000004H .CRT$XPA                DATA
 0003:00000020 00000004H .CRT$XPZ                DATA
 0003:00000024 00000004H .CRT$XTA                DATA
 0003:00000028 00000004H .CRT$XTZ                DATA
 0003:00000030 00000274H .data                   DATA
 0003:000002c0 00000598H .bss                    DATA

crash地址計算:calculation: crash_address - preferred_load_address - 0x1000
                            0x0040100e -0x00400000-0x1000=0x0000000e

接著在map中查找對應的obj

 Address         Publics by Value              Rva+Base     Lib:Object

 0000:00000000       __except_list              00000000     <absolute>
 0000:00000002       ___safe_se_handler_count   00000002     <absolute>
 0001:00000000       _main                      00401000 f   test1.obj
 0001:00000017       __amsg_exit                00401017 f   LIBC:crt0.obj
 0001:0000003c       _mainCRTStartup            0040103c f   LIBC:crt0.obj
 0001:00000203       ___crtExitProcess          00401203 f   LIBC:crt0dat.obj


最后根據obj和計算的值在map中找第一個小于我們所計算的值的位置

Line numbers for .\release\test1.obj(d:\test\test1\test1\test1.cpp) segment .text

     2 0001:00000000     3 0001:00000004     4 0001:0000000b     5 0001:00000011

然后在.map中查找第一個小于我們所計算的值的位置

所以我們的中斷位置是在第4行

posted on 2007-05-03 10:44 一動不如一靜 閱讀(1603) 評論(3)  編輯 收藏 引用 所屬分類: C++

Feedback

# re: 如何根據crash地址找到對應的行號 2007-08-14 12:45 夢在天涯
這個還是有點專業哦,能不能來一個再詳細點的哦,方首頁讓大家一起學習了!  回復  更多評論
  

# re: 如何根據crash地址找到對應的行號 2008-01-21 10:20 mikey
你這個辦法不太好用啊,比如在程序里面用了個strcpy出錯了,出錯的地址
最后就映射到strcpy.asm里面去了,怎么知道是在主程序的什么地方調用了
strcpy阿  回復  更多評論
  

# re: 如何根據crash地址找到對應的行號 2010-08-19 10:04 等等
查看堆棧不就完了。。。  回復  更多評論
  

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            亚洲第一区色| 欧美区在线播放| 亚洲电影下载| 久久午夜精品一区二区| 久久成人亚洲| 欧美福利在线观看| 欧美激情2020午夜免费观看| 亚洲韩国日本中文字幕| 亚洲三级毛片| 午夜国产欧美理论在线播放| 久久成人免费| 欧美日韩成人精品| 国产日韩欧美麻豆| 亚洲电影在线观看| 亚洲作爱视频| 久久久蜜臀国产一区二区| 亚洲国产成人精品女人久久久| 日韩视频国产视频| 久久精品99| 欧美日韩国产一区二区三区地区 | 久久亚洲春色中文字幕| 欧美激情在线| 亚洲欧美电影在线观看| 麻豆av福利av久久av| 国产精品成人播放| 在线看视频不卡| 亚洲欧美国产日韩中文字幕| 免费在线观看成人av| 亚洲无毛电影| 欧美精品激情| 在线日韩av片| 久久国产欧美精品| 亚洲免费av电影| 久久一二三区| 国产情人节一区| 宅男噜噜噜66一区二区66| 久久理论片午夜琪琪电影网| 99爱精品视频| 欧美精品亚洲| 最新国产乱人伦偷精品免费网站| 欧美自拍偷拍| 亚洲综合成人婷婷小说| 欧美日韩a区| 亚洲精品久久久久久久久久久| 欧美在线免费视屏| 一区二区三区www| 欧美sm视频| 在线观看日韩一区| 精品动漫3d一区二区三区免费| 亚洲性视频网址| 亚洲欧洲综合| 欧美乱在线观看| 一区二区三区蜜桃网| 欧美黄色精品| 免费日本视频一区| 亚洲成人在线视频播放| 久久国产日韩| 久久精品30| 精品电影一区| 欧美成人一区二区| 久久先锋资源| 亚洲黄色免费| 久久久久中文| 欧美激情第三页| 亚洲美女视频网| 亚洲激情综合| 欧美人与性动交cc0o| 99精品视频免费| 亚洲黄色在线| 欧美日精品一区视频| 亚洲一区二区高清视频| 一本色道久久88综合日韩精品 | 亚洲欧美亚洲| 国产精品资源在线观看| 欧美在线视频全部完| 久久久久女教师免费一区| 亚欧美中日韩视频| 影音先锋中文字幕一区二区| 亚洲精选一区| 99热在这里有精品免费| 国产精品高潮呻吟| 久久精品盗摄| 久久综合免费视频影院| 日韩亚洲国产欧美| 亚洲午夜久久久久久久久电影院| 国产美女一区| 欧美成人资源网| 欧美日韩国产色站一区二区三区 | 欧美福利在线| 欧美日韩一二区| 欧美在线观看一区二区| 欧美在线免费播放| 亚洲人成人99网站| 亚洲欧美久久久久一区二区三区| 国产综合精品| 亚洲精品视频啊美女在线直播| 国产精品视频1区| 欧美 日韩 国产精品免费观看| 欧美日韩色综合| 久久免费国产| 国产精品激情av在线播放| 久久亚洲欧美国产精品乐播| 欧美精品福利在线| 久久久久成人精品| 欧美激情视频网站| 久久久久久香蕉网| 亚洲视频欧美视频| 在线视频观看日韩| 亚洲一区二三| 亚洲美女视频网| 欧美影片第一页| 亚洲一区二区精品视频| 老司机精品导航| 久久精品在线播放| 国产精品青草久久久久福利99| 蜜桃av综合| 国产精品久久久久久av福利软件| 欧美成人免费在线观看| 国产日韩欧美二区| 在线视频一区二区| 亚洲精品久久视频| 玖玖精品视频| 99pao成人国产永久免费视频| 欧美一区二区网站| 亚洲午夜一区二区三区| 老鸭窝91久久精品色噜噜导演| 午夜精品成人在线视频| 欧美人交a欧美精品| 欧美成人精品1314www| 国产欧美日韩亚州综合| 欧美在线视屏| 国产精品系列在线播放| 中文亚洲欧美| 亚洲欧美区自拍先锋| 欧美日韩一区二区三区在线视频| 欧美激情亚洲激情| 亚洲国产你懂的| 欧美14一18处毛片| 欧美国产一区二区在线观看| 欧美精品一区二区三区在线播放| 欧美韩日亚洲| 亚洲精品一区二| 欧美久久婷婷综合色| 亚洲精品国产精品乱码不99按摩 | 欧美片网站免费| 亚洲人成7777| 一本色道久久综合亚洲精品按摩| 中文国产成人精品久久一| 亚洲婷婷在线| 国产精品嫩草影院一区二区| 亚洲私拍自拍| 欧美在线一级va免费观看| 欧美精品在线视频| 洋洋av久久久久久久一区| 亚洲主播在线播放| 国产精品视频九色porn| 香蕉免费一区二区三区在线观看| 欧美伊人久久久久久午夜久久久久| 国产欧美婷婷中文| 麻豆91精品91久久久的内涵| 亚洲电影视频在线| 亚洲一区亚洲二区| 国产日韩欧美一区| 久久综合伊人77777麻豆| 亚洲全部视频| 亚洲精品社区| 国产精品久久久久久久久久三级| 午夜老司机精品| 牛牛影视久久网| 亚洲最新视频在线播放| 国产精品视频免费在线观看| 久久人人爽国产| 亚洲精品在线三区| 久久国产精品久久久久久久久久 | 国产精品九九| 久久久久网址| 亚洲社区在线观看| 久久在线免费| 在线视频一区观看| 亚洲第一天堂无码专区| 校园春色综合网| 亚洲人成毛片在线播放| 久久精品国产一区二区电影 | 免费精品99久久国产综合精品| 欧美成va人片在线观看| 欧美成人自拍| 小嫩嫩精品导航| 亚洲国产高清一区| 欧美无砖砖区免费| 欧美成人影音| 美女日韩欧美| 久久成人综合视频| 亚洲一区国产视频| 午夜视频一区| 中日韩视频在线观看| 一色屋精品亚洲香蕉网站| 国产精品日韩一区二区| 欧美区在线观看| 蜜臀91精品一区二区三区| 性8sex亚洲区入口|