首页
社区
课程
招聘
[求助]请问一下 0xC0000005错误是什么造成的?(软件bug修复)
发表于: 2011-7-26 20:07 17657

[求助]请问一下 0xC0000005错误是什么造成的?(软件bug修复)

2011-7-26 20:07
17657
请问一下 0xC0000005错误是什么造成的?
这是软件自身的bug,请问有办法修复不?如何着手,代码及出错位置见2楼?

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (7)
雪    币: 601
活跃值: (256)
能力值: ( LV11,RANK:190 )
在线值:
发帖
回帖
粉丝
2
内存分配访问无效。
2011-7-26 20:10
0
雪    币: 4669
活跃值: (4627)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
那这个能不能修复呢

008E3ED9    8B45 DC         mov eax,dword ptr ss:[ebp-24]
008E3EDC    0C 40           or al,40
008E3EDE    8945 DC         mov dword ptr ss:[ebp-24],eax
008E3EE1    8B4D D4         mov ecx,dword ptr ss:[ebp-2C]
008E3EE4    83C1 01         add ecx,1
008E3EE7    8B55 E4         mov edx,dword ptr ss:[ebp-1C]
008E3EEA    0FBF42 0A       movsx eax,word ptr ds:[edx+A]
008E3EEE    3BC8            cmp ecx,eax
008E3EF0    7D 49           jge short abc.008E3F3B
008E3EF2    8B4D E8         mov ecx,dword ptr ss:[ebp-18]
008E3EF5    D901            fld dword ptr ds:[ecx]
008E3EF7    D81D BCB79300   fcomp dword ptr ds:[93B7BC]
008E3EFD    DFE0            fstsw ax
008E3EFF    F6C4 41         test ah,41
008E3F02    74 37           je short abc.008E3F3B
008E3F04    8B55 E8         mov edx,dword ptr ss:[ebp-18]
008E3F07    D902            fld dword ptr ds:[edx]
008E3F09    83EC 08         sub esp,8
008E3F0C    DD1C24          fstp qword ptr ss:[esp]
008E3F0F    8B45 E8         mov eax,dword ptr ss:[ebp-18]
008E3F12    83C0 18         add eax,18
008E3F15    50              push eax
008E3F16    68 80FE9800     push abc.0098FE80
008E3F1B    8D4D F0         lea ecx,dword ptr ss:[ebp-10]
008E3F1E    51              push ecx
008E3F1F    E8 08CD0400     call <jmp.&MFC42.#2818_CString::Format>
008E3F24    83C4 14         add esp,14
008E3F27    8D55 F0         lea edx,dword ptr ss:[ebp-10]
008E3F2A    52              push edx
008E3F2B    8D4D D8         lea ecx,dword ptr ss:[ebp-28]
008E3F2E    E8 5DCF0400     call <jmp.&MFC42.#939_CString::operator+>
008E3F33    8B45 DC         mov eax,dword ptr ss:[ebp-24]
008E3F36    0C 40           or al,40
008E3F38    8945 DC         mov dword ptr ss:[ebp-24],eax
008E3F3B    8B4D E8         mov ecx,dword ptr ss:[ebp-18]
008E3F3E    D941 30         fld dword ptr ds:[ecx+30]
008E3F41    D81D BCB79300   fcomp dword ptr ds:[93B7BC]
008E3F47    DFE0            fstsw ax
008E3F49    F6C4 41         test ah,41
008E3F4C    74 32           je short abc.008E3F80
008E3F4E    8B55 E8         mov edx,dword ptr ss:[ebp-18]
008E3F51    83C2 18         add edx,18
008E3F54    52              push edx
008E3F55    68 ACFE9800     push abc.0098FEAC
008E3F5A    8D45 F0         lea eax,dword ptr ss:[ebp-10]
008E3F5D    50              push eax
008E3F5E    E8 C9CC0400     call <jmp.&MFC42.#2818_CString::Format>
008E3F63    83C4 0C         add esp,0C
008E3F66    8D4D F0         lea ecx,dword ptr ss:[ebp-10]
008E3F69    51              push ecx
008E3F6A    8D4D D8         lea ecx,dword ptr ss:[ebp-28]
008E3F6D    E8 1ECF0400     call <jmp.&MFC42.#939_CString::operator+>
008E3F72    8B55 DC         mov edx,dword ptr ss:[ebp-24]
008E3F75    83CA 40         or edx,40
008E3F78    8955 DC         mov dword ptr ss:[ebp-24],edx
008E3F7B  ^ E9 F7FEFFFF     jmp abc.008E3E77
008E3F80    8B45 E8         mov eax,dword ptr ss:[ebp-18]
008E3F83    8378 64 00      cmp dword ptr ds:[eax+64],0
008E3F87    0F84 83000000   je abc.008E4010
008E3F8D    C745 D0 0000000>mov dword ptr ss:[ebp-30],0
008E3F94    EB 09           jmp short abc.008E3F9F
008E3F96    8B4D D0         mov ecx,dword ptr ss:[ebp-30]
008E3F99    83C1 01         add ecx,1
008E3F9C    894D D0         mov dword ptr ss:[ebp-30],ecx
008E3F9F    8B55 E8         mov edx,dword ptr ss:[ebp-18]
008E3FA2    0FBF42 3A       movsx eax,word ptr ds:[edx+3A]
008E3FA6    3945 D0         cmp dword ptr ss:[ebp-30],eax
008E3FA9    7D 65           jge short abc.008E4010
008E3FAB    8B4D E8         mov ecx,dword ptr ss:[ebp-18]
008E3FAE    8B51 64         mov edx,dword ptr ds:[ecx+64]
008E3FB1    8B45 D0         mov eax,dword ptr ss:[ebp-30]
008E3FB4    8B4D E8         mov ecx,dword ptr ss:[ebp-18]
008E3FB7    D90482          fld dword ptr ds:[edx+eax*4]                出错位置
008E3FBA    D859 30         fcomp dword ptr ds:[ecx+30]
008E3FBD    DFE0            fstsw ax
008E3FBF    F6C4 01         test ah,1
008E3FC2    75 4A           jnz short abc.008E400E
008E3FC4    8B55 E8         mov edx,dword ptr ss:[ebp-18]
008E3FC7    D942 30         fld dword ptr ds:[edx+30]
008E3FCA    83EC 08         sub esp,8
008E3FCD    DD1C24          fstp qword ptr ss:[esp]
008E3FD0    8B45 E8         mov eax,dword ptr ss:[ebp-18]
008E3FD3    8B48 64         mov ecx,dword ptr ds:[eax+64]
008E3FD6    8B55 D0         mov edx,dword ptr ss:[ebp-30]
008E3FD9    D90491          fld dword ptr ds:[ecx+edx*4]
008E3FDC    83EC 08         sub esp,8
008E3FDF    DD1C24          fstp qword ptr ss:[esp]
008E3FE2    8B45 E8         mov eax,dword ptr ss:[ebp-18]
008E3FE5    83C0 18         add eax,18
008E3FE8    50              push eax
008E3FE9    68 D0FE9800     push abc.0098FED0
008E3FEE    8D4D F0         lea ecx,dword ptr ss:[ebp-10]
008E3FF1    51              push ecx
008E3FF2    E8 35CC0400     call <jmp.&MFC42.#2818_CString::Format>
008E3FF7    83C4 1C         add esp,1C
008E3FFA    8D55 F0         lea edx,dword ptr ss:[ebp-10]
008E3FFD    52              push edx
008E3FFE    8D4D D8         lea ecx,dword ptr ss:[ebp-28]
008E4001    E8 8ACE0400     call <jmp.&MFC42.#939_CString::operator+>
008E4006    8B45 DC         mov eax,dword ptr ss:[ebp-24]
008E4009    0C 40           or al,40
008E400B    8945 DC         mov dword ptr ss:[ebp-24],eax
008E400E  ^ EB 86           jmp short abc.008E3F96
008E4010  ^ E9 62FEFFFF     jmp abc.008E3E77
008E4015    E9 FB020000     jmp abc.008E4315
008E401A    8B4D E4         mov ecx,dword ptr ss:[ebp-1C]
找到这个软件出错的地方
运行到008E3FB7    D90482          fld dword ptr ds:[edx+eax*4]代码就出错
2011-7-26 20:15
0
雪    币: 4669
活跃值: (4627)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
这是软件自身的bug,想修复,不知道如何着手,高手能不能指点一下呢?
2011-7-27 08:08
0
雪    币: 7651
活跃值: (523)
能力值: ( LV9,RANK:610 )
在线值:
发帖
回帖
粉丝
5
Patch吧,加一个验证,如果地址无效,就不执行后面的操作……
2011-7-27 09:52
0
雪    币: 4669
活跃值: (4627)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
如果不执行后面的代码数据又不对了
我看了一下
就是取最后几个数据的时候内存地址为??????
2011-7-27 10:49
0
雪    币: 4669
活跃值: (4627)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
能不能说说具体方法呢,谢谢!
2011-7-27 10:50
0
雪    币: 4669
活跃值: (4627)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
请问判定地址无效的汇编代码怎么样写?谢谢!
2011-7-27 16:24
0
游客
登录 | 注册 方可回帖
返回
//