锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
]]>
涓婇潰鎵璇寸殑 property 鏄?span lang="EN-US">“欏圭洰”鑿滃崟涓嬬殑 property錛岃岄潪“宸ュ叿”鑿滃崟涓嬬殑 property銆?span lang="EN-US">
鍦?span lang="EN-US">errorFun涓嚱鏁頒腑錛?span lang="EN-US">*p=1榪欎竴琛屽嚭閿欙紝鐢變簬p娌℃湁鐢寵絀洪棿錛岃繍琛屾椂鍑洪敊,寮瑰嚭
Unhandled exception at 0x004113b1 in testError.exe: 0xC0000005: Access
violation writing location 0x00000000.
鍦?span lang="EN-US">0x004113b1紼嬪簭鍙戠敓宕╂簝銆?span lang="EN-US">
鍏蜂綋姝ラ錛?/span>
(1)debug鏂囦歡涓嬫墦寮map鏂囦歡錛屽畾浣嶅穿婧冨嚱鏁?span lang="EN-US">.
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,鍦板潃鏄嚱鏁扮殑寮濮嬪湴鍧錛屾墍浠ュ彂鐢熺殑宕╂簝鐨勭殑鍑芥暟鏄?span lang="EN-US">errorFun,榪欎釜鍑芥暟鐨勫垵濮嬪湴鍧00411390.
(2)鎵懼嚭鍏蜂綋宕╂簝琛屽彿.
鐢?span lang="EN-US">(2)鍙煡錛屽彂鐢熼敊璇嚱鏁版槸errorFun,鍦?span lang="EN-US">testError.obj錛屾墦寮testError.cod鏂囦歡錛屾壘鍒?span lang="EN-US">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
錛堣鏄?span lang="EN-US">: 7,8,9鏄〃紺哄湪婧愪唬鐮佺殑琛屽彿銆?span lang="EN-US">
00000 55 push ebp錛?span lang="EN-US">000000鏄浉瀵瑰亸縐誨湴鍦幫紝55鏄満鍣ㄧ爜鍙鳳紝push ebp,000000鏄眹緙栫爜銆傦級
閫氳繃錛?span lang="EN-US">2錛夋垜浠綆楃浉瀵瑰亸縐誨湴鍧錛屽嵆宕╂簝鍦板潃-鍑芥暟璧峰鍦板潃,0x004113b1-0x00411390=0x21(16榪涘埗鐨勮鏁?span lang="EN-US">)銆傛壘鍒?span lang="EN-US">0x21榪欎竴琛屽搴旂殑鏈哄櫒鐮佹槸 00021 c7 00 01 00 00,鍚戜笂鐪嬪畠鏄敱絎?span lang="EN-US">8琛?span lang="EN-US">*p=1錛涚敓鎴愮殑姹囩紪鐮侊紝鐢辨鍙鏄繖涓琛岀▼搴忓彂鐢熷穿婧冦?span lang="EN-US">
緇撴潫璇細褰撶劧榪欏彧鏄竴涓畝鍗曠殑渚嬪瓙錛屽疄闄呬笂涓榪愯渚跨煡閬撴槸榪欎竴琛屽嚭閿欙紝浣嗘槸瀵逛簬涓涓瘮杈冨ぇ鐨勫伐紼嬶紝鐗瑰埆鏄湪澶氱嚎紼嬪茍鍙戞儏鍐典笅錛岃鎵懼嚭閭d竴琛屽嚭閿欐瘮杈冨洶闅撅紝渚垮彲浠ヤ嬌鐢?span lang="EN-US">map鍜?span lang="EN-US">cod鏂囦歡鎵懼埌紼嬪簭宕╂簝鍘熷洜銆?span lang="EN-US">