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

一動不如一靜

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 一動不如一靜 閱讀(1592) 評論(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>
            国产一区二区三区黄视频| 久久夜色精品亚洲噜噜国产mv| 欧美bbbxxxxx| 亚洲精品久久嫩草网站秘色 | 国产揄拍国内精品对白| 久久精品在线播放| 久久久欧美精品sm网站| 亚洲激情图片小说视频| 亚洲日本欧美| 欧美激情一区二区三级高清视频| 99在线精品免费视频九九视| 日韩一级片网址| 国产欧美日韩视频一区二区三区| 久久夜色精品亚洲噜噜国产mv| 美脚丝袜一区二区三区在线观看| 夜夜嗨av一区二区三区| 亚洲一区二区视频| 亚洲国产精品va在看黑人| 99国产精品| 尤物九九久久国产精品的分类| 亚洲欧洲三级| 国产欧美日韩不卡| 欧美好骚综合网| 国产精品爱久久久久久久| 久久婷婷丁香| 欧美日韩在线播放| 久热精品视频在线| 欧美日韩国产天堂| 久久综合影视| 国产精品久久久久久久9999 | 亚洲欧美日韩精品久久奇米色影视| 午夜一区在线| 在线综合亚洲欧美在线视频| 亚洲综合精品一区二区| 亚洲精品乱码久久久久| 亚洲欧美日韩视频二区| 99精品久久| 久久久亚洲国产美女国产盗摄| 亚洲女性喷水在线观看一区| 欧美成人免费全部| 鲁鲁狠狠狠7777一区二区| 国产精品欧美久久| 亚洲精品久久| 亚洲国产专区校园欧美| 欧美亚洲在线观看| 亚洲天堂视频在线观看| 免费看成人av| 午夜欧美大片免费观看| 国产欧美在线观看一区| 亚洲欧洲视频| 亚洲人体大胆视频| 久久青草欧美一区二区三区| 久久av红桃一区二区小说| 欧美午夜精品电影| 日韩亚洲精品电影| 99精品视频网| 欧美精品一区视频| 亚洲第一天堂无码专区| 亚洲国产精品久久久久婷婷884 | 欧美日韩18| 亚洲国产日韩精品| 91久久久精品| 欧美搞黄网站| 亚洲黄色免费网站| 亚洲精品一区中文| 欧美日韩高清区| 99xxxx成人网| 这里只有精品丝袜| 欧美亚洲成人精品| 亚洲欧美日韩国产精品| 香蕉成人久久| 国产视频欧美视频| 久久av红桃一区二区小说| 久久久噜噜噜久久中文字免| 黑人巨大精品欧美黑白配亚洲| 欧美一区二区在线免费观看| 久久亚洲一区二区三区四区| 亚洲福利视频一区二区| 欧美电影免费观看高清| 亚洲精品中文在线| 亚洲综合清纯丝袜自拍| 国产精品永久免费| 久久久噜噜噜久久狠狠50岁| 欧美大片免费| 亚洲天堂网站在线观看视频| 国产精品视频午夜| 久久久欧美精品| 亚洲乱码国产乱码精品精98午夜 | 日韩午夜三级在线| 国产乱人伦精品一区二区 | 亚洲精品麻豆| 香蕉国产精品偷在线观看不卡 | 欧美承认网站| 亚洲视频播放| 免费视频一区二区三区在线观看| 亚洲人成网站777色婷婷| 国产精品久久久久99| 午夜视黄欧洲亚洲| 亚洲国产成人精品久久久国产成人一区| 欧美精品一区二| 亚洲一级在线观看| 欧美二区在线看| 亚洲伊人久久综合| 亚洲第一页在线| 国产精品久久久久久久9999| 老妇喷水一区二区三区| 一区二区三区www| 欧美91大片| 亚洲欧美日韩第一区| 亚洲主播在线| 日韩午夜在线| 亚洲欧美中文日韩v在线观看| 极品少妇一区二区三区| 欧美美女bbbb| 久久综合狠狠综合久久综青草| 99国产精品视频免费观看| 久久人91精品久久久久久不卡| 国产精品99久久久久久久久久久久| 激情91久久| 国产精品午夜电影| 欧美日韩精品免费看| 久久久久网站| 欧美一区三区三区高中清蜜桃| 99精品国产高清一区二区| 欧美激情在线免费观看| 久久精品国产一区二区三区免费看| 在线综合亚洲欧美在线视频| 亚洲经典三级| 亚洲国产精品高清久久久| 国产综合在线看| 国产欧美精品日韩区二区麻豆天美| 欧美日韩亚洲激情| 欧美激情精品久久久久久免费印度| 久久久水蜜桃| 久久精品国产77777蜜臀| 亚洲欧美变态国产另类| 99视频超级精品| 日韩视频精品在线| 亚洲精品网址在线观看| 91久久亚洲| 亚洲国产精品一区二区www| 欧美大片免费| 亚洲国产另类久久精品| 亚洲第一级黄色片| 亚洲成色www8888| 欧美国产一区二区| 欧美激情按摩在线| 欧美bbbxxxxx| 亚洲黄色视屏| 在线一区二区三区四区| 中国女人久久久| 亚洲免费视频网站| 性8sex亚洲区入口| 久久久久久九九九九| 久久久久久伊人| 欧美精品激情| 国产精品一区在线观看你懂的| 国产精品视频区| 好吊日精品视频| 亚洲人体1000| 亚洲一区精彩视频| 久久精品30| 亚洲第一二三四五区| 日韩视频在线一区二区| 亚洲欧美激情精品一区二区| 欧美一区在线视频| 美腿丝袜亚洲色图| 欧美日韩国产综合视频在线| 国产精品久久婷婷六月丁香| 国产一级一区二区| 99视频在线观看一区三区| 亚洲欧美另类国产| 巨胸喷奶水www久久久免费动漫| 欧美大片一区二区| 亚洲视频播放| 麻豆精品一区二区av白丝在线| 欧美日韩免费高清| 在线成人av网站| 亚洲尤物视频在线| 免费日韩av| 亚洲一区免费| 欧美激情综合网| 国产亚洲成av人片在线观看桃| 亚洲另类自拍| 久久久久久日产精品| 亚洲三级免费观看| 欧美在线一区二区三区| 欧美日本二区| 亚洲第一网站| 久久超碰97人人做人人爱| 亚洲国产视频直播| 久久成人亚洲| 久久九九久精品国产免费直播| 亚洲第一网站免费视频| 在线视频一区二区| 羞羞色国产精品| 欧美激情精品久久久六区热门| 一区二区三区日韩在线观看| 免费在线播放第一区高清av| 国产精品制服诱惑|