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

posts - 2, comments - 0, trackbacks - 0, articles - 2
   :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

首先配置vc2005生成map文件和cod文件:


(1).map
文件:property->Configuration Properties->Linker->Debugging 中的Generate Map File選擇Yes(/MAP);

(2).cod
文件:property->Configuration Properties->C/C++->output FilesAssembler OutPut中選擇Assembly,Maching Code and Source(/FAcs),生成機器,源代碼。

上面所說的 property 項目菜單下的 property,而非工具菜單下的 property

 例子:

 1 #include "stdafx.h"
 2 void errorFun(int * p)
 3 {
 4          *p=1;
 5 }
 6 int _tmain(int argc, _TCHAR* argv[])
 7 {
 8          int * p=NULL;
 9          errorFun(p);
10          return 0;
11 }

 

errorFun中函數中,*p=1這一行出錯,由于p沒有申請空間,運行時出錯,彈出
Unhandled exception at 0x004113b1 in testError.exe: 0xC0000005: Access violation writing location 0x00000000.
0x004113b1程序發生崩潰。

具體步驟:
(1)debug
文件下打開map文件,定位崩潰函數.

map
文件開頭是一些鏈接信息,然后我們要找函數和實始地址信息。地址是函始的開始地址

Address
       Publics by Value       Rva+Base    Lib:Object

0000:00000000
    ___safe_se_handler_count   00000000    <absolute>
0000:00000000
    ___safe_se_handler_table   00000000    <absolute>
0000:00000000
    ___ImageBase         00400000    <linker-defined>
0001:00000000
    __enc$textbss$begin      00401000     <linker-defined>
0001:00010000
    __enc$textbss$end       00411000     <linker-defined>
0002:00000390
    
?errorFun@@YAXPAH@Z    00411390 f    testError.obj
0002:000003d0
    _wmain            004113d0 f    testError.obj
0002:00000430
    __RTC_InitBase        00411430 f   MSVCRTD:init.obj
0002:00000470
    __RTC_Shutdown        00411470 f   MSVCRTD:init.obj
0002:00000490
    __RTC_CheckEsp        00411490 f   MSVCRTD:stack.obj
0002:000004c0
    @_RTC_CheckStackVars@8    004114c0 f   MSVCRTD:stack.obj
0002:00000540
    @_RTC_AllocaHelper@12     00411540 f    MSVCRTD:stack.obj

....

程序崩潰地址0x004113b1,我們找到第一個比這個地址大的004113d0,前一個是00411390,地址是函數的開始地址,所以發生的崩潰的的函數是errorFun,這個函數的初始地址00411390.

(2)
找出具體崩潰行號.

(2)可知,發生錯誤函數是errorFun,testError.obj,打開testError.cod文件,找到errorFun函數生成的機器碼.

?errorFun@@YAXPAH@Z PROC    ; errorFun, COMDAT

; 7    : {

  00000 55   push  ebp
  00001 8b ec   mov  ebp, esp
  00003 81 ec c0 00 00
00   sub  esp, 192  ; 000000c0H
  00009 53   push  ebx
  0000a 56   push  esi
  0000b 57   push  edi
  0000c 8d bd 40 ff ff
ff   lea  edi, DWORD PTR [ebp-192]
  00012 b9 30 00 00 00  mov  ecx, 48   ; 00000030H
  00017 b8 cc cc cc cc  mov  eax, -858993460  ; ccccccccH
  0001c f3 ab   rep stosd

; 8    :  *p=1;

  0001e 8b 45 08  mov  eax, DWORD PTR _p$[ebp]
  
00021 c7 00 01 00 00
00   mov  DWORD PTR [eax], 1

; 9    : }

  00027 5f   pop  edi
  00028 5e   pop  esi
  00029 5b   pop  ebx
  0002a 8b e5   mov  esp, ebp
  0002c 5d   pop  ebp
  0002d c3   ret  0
(說明: 7,8,9是表示在源代碼的行號。
00000 55   push  ebp
000000是相對偏移地地,55是機器碼號,push ebp,000000是匯編碼。)

通過(2)我們計算相對偏移地址,即崩潰地址-函數起始地址,0x004113b1-0x00411390=0x21(16進制的計數)。找到0x21這一行對應的機器碼是 00021 c7 00 01 00 00,向上看它是由第8*p=1;生成的匯編碼,由此可見是這一行程序發生崩潰。

結束語:當然這只是一個簡單的例子,實際上一運行便知道是這一行出錯,但是對于一個比較大的工程,特別是在多線程并發情況下,要找出那一行出錯比較困難,便可以使用mapcod文件找到程序崩潰原因。

 


只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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| 一本久久a久久精品亚洲| 国产亚洲欧洲997久久综合| 韩日视频一区| 日韩网站在线| 欧美综合国产| 欧美国产高潮xxxx1819| 99国产精品国产精品毛片| 性刺激综合网| 猛男gaygay欧美视频| 欧美视频在线免费看| 国产区日韩欧美| 亚洲精品国产精品久久清纯直播 | 久久这里有精品视频| 欧美日韩高清在线观看| 国产精品一区二区三区乱码 | av成人天堂| 欧美专区日韩视频| 欧美精品综合| 狠狠色丁香久久婷婷综合_中| 国产欧美日韩综合一区在线观看| 欧美日韩一区三区| 国产一区二区三区四区hd| 亚洲精品综合精品自拍| 午夜免费电影一区在线观看| 免费亚洲婷婷| 亚洲免费婷婷| 欧美激情一区二区三区四区| 国外成人在线| 亚洲一区视频在线观看视频| 欧美国产日韩xxxxx| 亚洲午夜久久久| 欧美日韩国产成人精品| 伊人天天综合| 久久激情视频| 亚洲一区二区三区乱码aⅴ蜜桃女 亚洲一区二区三区乱码aⅴ | 久久久精品2019中文字幕神马| 久久精品国产亚洲高清剧情介绍| 久久久精品一品道一区| 国产精品亚洲第一区在线暖暖韩国| 国产精品免费视频观看| 日韩午夜精品视频| 欧美激情一级片一区二区| 久久精品一二三| 国产亚洲欧美日韩精品| 亚洲欧美精品伊人久久| 日韩视频免费| 欧美巨乳在线| 夜夜嗨一区二区| 91久久精品日日躁夜夜躁国产| 亚洲人体一区| 欧美夫妇交换俱乐部在线观看| 国产精品xvideos88| 亚洲综合国产激情另类一区| 亚洲欧洲在线看| 午夜国产欧美理论在线播放| 国产精品日韩在线播放| 欧美一区二区三区精品电影| 亚洲一区免费看| 国产伦精品一区二区三区免费迷 | 欧美成人影音| 99精品视频免费在线观看| 亚洲欧洲在线播放| 欧美影片第一页| 极品尤物av久久免费看| 免费观看30秒视频久久| 玖玖在线精品| 日韩视频在线一区二区| 夜夜嗨av色一区二区不卡| 欧美日韩一区高清| 午夜国产欧美理论在线播放| 香蕉久久精品日日躁夜夜躁| 伊人精品久久久久7777| 亚洲福利一区| 欧美日韩一区二区三区在线| 欧美亚洲一区| 一区二区日韩精品| 国产深夜精品| 欧美国产精品| 欧美日韩在线观看一区二区| 亚洲成人中文| 亚洲图片欧美一区| 黄色一区二区三区| 久久精品一区二区三区不卡| 宅男噜噜噜66国产日韩在线观看| 欧美激情视频一区二区三区免费| 在线看一区二区| 99热免费精品在线观看| 国产亚洲精品久久飘花| 亚洲狠狠丁香婷婷综合久久久| 久久深夜福利| 亚洲综合精品自拍| 久久综合九色九九| 伊人久久综合97精品| 一本色道久久综合精品竹菊| 国产亚洲一区二区三区| 久久久国产91| 欧美特黄a级高清免费大片a级| 亚洲视频你懂的| 久久综合免费视频影院| 午夜精品视频在线| 亚洲欧美日韩国产成人| 国产免费亚洲高清| 日韩视频免费在线| 亚洲第一主播视频| 亚洲电影在线观看| 国产日韩欧美精品在线| 一区二区三区偷拍| 91久久午夜| 久久久久久久999| 欧美在线播放一区| 国产精品高潮呻吟久久av无限| 午夜亚洲影视| 欧美激情欧美狂野欧美精品| 国产精品99久久久久久久久| 免费一级欧美片在线观看| 久久蜜桃资源一区二区老牛| 国产精品久久9| 亚洲精品自在久久| 国产日韩精品一区二区| 在线中文字幕日韩| 伊人天天综合| 久久久久国产精品一区三寸| 久久国内精品视频| 国产偷久久久精品专区| 亚洲一区精彩视频| 亚洲国产成人tv| 美国三级日本三级久久99| 欧美ab在线视频| 亚洲国产一成人久久精品| 久久综合九色综合欧美狠狠| 麻豆精品一区二区综合av| 欧美日韩国产美| 日韩午夜在线播放| 一区二区三区久久久| 欧美日韩精品免费 | 亚洲精品四区| 美女脱光内衣内裤视频久久影院 | a91a精品视频在线观看| 欧美精品1区| 亚洲人成高清| 亚洲欧美中文日韩v在线观看| 久久免费精品日本久久中文字幕| 99www免费人成精品| 欧美日韩你懂的| 亚洲午夜激情免费视频| 香蕉久久精品日日躁夜夜躁| 国产精品夜夜夜一区二区三区尤| 亚洲大黄网站| 亚洲校园激情| 国产欧美一区二区三区久久| 久久精品视频免费观看| 欧美激情1区2区| 在线亚洲欧美视频| 欧美国产精品v| 欧美成人午夜77777| 亚洲午夜在线观看| 国产亚洲精品久久久久婷婷瑜伽| 中文一区字幕| 久久久噜噜噜久久| 亚洲最新视频在线| 欧美国产欧美综合| 亚洲欧美日韩中文视频| 亚洲欧美日韩国产一区| 亚洲成色777777在线观看影院| 欧美一区在线视频| 亚洲黄色av| 久久久久九九九九| 亚洲午夜未删减在线观看| 激情欧美一区| 国产精品chinese| 免费成人黄色| 午夜在线观看免费一区| 亚洲欧洲日夜超级视频| 久久九九精品| 亚洲高清在线| 国产一级一区二区| 欧美日韩中文字幕日韩欧美| 久久精品国产免费观看| 亚洲网站在线看| 亚洲精品社区| 亚洲欧美日韩精品在线| 日韩一级视频免费观看在线| 精品电影一区| 国产目拍亚洲精品99久久精品| 欧美一级在线亚洲天堂| 亚洲精品久久久久久久久久久| 亚洲天堂激情| 日韩亚洲一区二区| 亚洲国产视频一区| 狠狠色丁香久久婷婷综合丁香| 可以看av的网站久久看| 亚洲黄一区二区| 亚洲在线观看| 亚洲一区二区精品在线| 亚洲精品四区| 亚洲人成在线观看| 国产精品日韩欧美| 国产精品视频导航|