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

一動不如一靜

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 一動不如一靜 閱讀(1593) 評論(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>
            老司机精品导航| 国内视频精品| 午夜精品一区二区三区电影天堂| 国产精品乱码| 亚洲乱码国产乱码精品精98午夜 | 亚洲永久免费精品| 一本久久青青| 狠狠色狠狠色综合人人| 伊人久久亚洲热| 亚洲欧洲在线一区| aⅴ色国产欧美| 欧美一区二区三区四区高清| 久久久噜久噜久久综合| 卡一卡二国产精品| 亚洲精品偷拍| 欧美一区二区三区免费观看| 你懂的视频欧美| 国产精品久久久久久久浪潮网站| 国产午夜精品全部视频播放| 亚洲国产一二三| 亚洲欧美一区二区三区极速播放| 久久人人97超碰人人澡爱香蕉| 欧美国产日本| 亚洲欧美卡通另类91av| 免费成人高清视频| 国产精品久久久久久久久免费樱桃 | 亚洲精品欧美日韩专区| 亚洲欧美日本在线| 欧美jizzhd精品欧美喷水| 一本久久综合亚洲鲁鲁| 久久久噜噜噜久久狠狠50岁| 欧美日韩亚洲一区| 亚洲第一在线| 久久gogo国模啪啪人体图| 91久久国产综合久久91精品网站| 一区二区电影免费观看| 久久中文在线| 国产又爽又黄的激情精品视频| 99热免费精品在线观看| 女生裸体视频一区二区三区| 午夜精品999| 国产精品国产三级国产aⅴ浪潮 | 精品69视频一区二区三区| 亚洲影视在线| 亚洲国产精品一区| 久久亚洲国产成人| 国产在线拍揄自揄视频不卡99| 亚洲永久精品大片| 亚洲一区久久久| 久久精品亚洲一区二区| 蜜桃av一区二区在线观看| 一本色道久久综合精品竹菊| 欧美成人亚洲| 亚洲国产高清视频| 狂野欧美激情性xxxx欧美| 午夜在线不卡| 国产一区二区欧美日韩| 欧美在线日韩精品| 亚洲欧美国产va在线影院| 欧美三级电影网| 亚洲与欧洲av电影| 亚洲一区在线直播| 国产精品一区二区视频| 欧美有码在线视频| 欧美一区二区成人| 樱桃成人精品视频在线播放| 狼狼综合久久久久综合网| 久久理论片午夜琪琪电影网| 国产在线播放一区二区三区| 久久综合国产精品| 噜噜噜躁狠狠躁狠狠精品视频| 亚洲第一主播视频| 欧美国产日韩免费| 欧美精品一区二区三区在线播放 | 欧美日韩在线一区二区三区| 亚洲天堂av高清| 亚洲欧美日韩精品久久| 国产日本亚洲高清| 老司机一区二区三区| 免费观看久久久4p| 在线视频中文亚洲| 亚洲一区免费观看| 在线精品国产欧美| 亚洲精品中文字幕在线| 国产精品视频成人| 久久久久久久久久久一区| 久热精品在线视频| av成人国产| 亚洲欧美在线网| 亚洲国产91| 中文无字幕一区二区三区| 国产一区日韩一区| 亚洲美女av网站| 国产综合av| 99热在这里有精品免费| 亚洲午夜av| 亚洲电影成人| 亚洲一区二区少妇| 亚洲人成人一区二区三区| 一本色道久久综合亚洲精品小说| 99精品福利视频| 国自产拍偷拍福利精品免费一| 亚洲电影免费观看高清完整版在线观看| 欧美激情91| 久久久综合香蕉尹人综合网| 欧美日韩精品综合| 麻豆9191精品国产| 国产精品永久免费观看| 欧美成人免费网| 亚洲人被黑人高潮完整版| 亚洲特级片在线| 亚洲精品国产拍免费91在线| 午夜久久电影网| 国产精品99久久99久久久二8| 久久久五月天| 久久国产精品久久久久久| 亚洲精品永久免费| 一区二区三区中文在线观看| 在线天堂一区av电影| 亚洲黄色成人网| 久久爱www久久做| 亚洲欧美日韩直播| 欧美激情精品久久久久久变态 | 亚洲国产精品专区久久| 欧美亚洲三区| 欧美伊久线香蕉线新在线| 欧美视频专区一二在线观看| 亚洲黄色在线视频| 亚洲国产精品ⅴa在线观看 | 亚洲免费视频一区二区| 中文一区二区| 欧美日韩精品综合在线| 亚洲国产精品久久久久久女王| 尤物网精品视频| 欧美影院成年免费版| 蜜臀a∨国产成人精品| 亚洲欧洲偷拍精品| 久久久免费av| 久久一区中文字幕| 国产三级精品在线不卡| 亚洲欧美日韩一区二区在线| 亚洲午夜国产成人av电影男同| 欧美精品日韩一本| 亚洲另类在线视频| 亚洲欧美另类久久久精品2019| 欧美午夜精品理论片a级按摩| 亚洲三级电影在线观看| 一本色道久久综合亚洲二区三区 | 美女999久久久精品视频| 伊人久久综合| 久久男人av资源网站| 激情久久久久久久久久久久久久久久| 欧美一区二区三区精品电影| 久久九九免费视频| 亚洲激情电影在线| 欧美精品在线观看一区二区| 亚洲免费久久| 欧美专区亚洲专区| 亚洲盗摄视频| 欧美日韩另类综合| 亚洲中无吗在线| 欧美成人a视频| 一二三区精品福利视频| 国产精品久久久久av| 午夜精品久久久久久99热| 麻豆精品传媒视频| 日韩视频在线免费观看| 亚洲毛片播放| 在线精品一区| 欧美区国产区| 午夜影视日本亚洲欧洲精品| 欧美国产成人在线| 亚洲欧美综合精品久久成人| 一区二区亚洲精品| 欧美网站大全在线观看| 久久九九免费| 一区二区三区四区五区精品视频| 久久久精品性| 亚洲视屏在线播放| 亚洲国产精品高清久久久| 欧美天天综合网| 久久综合色综合88| 亚洲欧美日韩在线| 日韩一级成人av| 欧美高清视频在线播放| 欧美一区二区免费| 亚洲欧洲日产国产网站| 国产亚洲精品v| 国产精品久久久久秋霞鲁丝| 久久天天躁狠狠躁夜夜爽蜜月| 亚洲视频综合在线| 亚洲黄色免费网站| 久久综合给合久久狠狠色 | 免播放器亚洲一区| 亚洲在线观看免费视频| 亚洲乱码久久| 亚洲国产另类精品专区| 国产欧美精品日韩区二区麻豆天美 | 欧美高清自拍一区| 久久久久久久综合|