win32 程序,崩溃了
这段汇编什么意思,一定帮小弟看看,万分感谢!
770F4920 mov edi,edi
770F4922 push ebp
770F4923 mov ebp,esp
770F4925 push esi
770F4926 mov esi,dword ptr [ebp+8]
770F4929 mov ax,word ptr [esi]
770F492C cmp ax,8
770F4930 push edi
770F4931 jae 770F493F
770F4933 and word ptr [esi],0
770F4937 xor eax,eax
770F4939 pop edi
770F493A pop esi
770F493B pop ebp
770F493C ret 4
770F493F movzx edi,ax
770F4942 mov ecx,edi
770F4944 and ecx,0FFFF9FFFh
770F494A cmp ecx,48h
770F494D je 77126772
770F4953 cmp ax,0Ch
770F4957 jae 770F49EE
770F495D mov eax,edi
770F495F sub eax,8
770F4962 je 770F4B0B
770F4968 dec eax
770F4969 jne 770F4990
770F496B mov eax,dword ptr [esi+8]
770F496E test eax,eax
770F4970 je 770F4933
770F4972 mov ecx,dword ptr [eax]
770F4974 push eax
770F4975 call dword ptr [ecx+8]
770F4978 jmp 770F4933
------解决方案--------------------------------------------------------
0 有没有较完整的片断?
1 在哪里崩溃?什么错误?
------解决方案--------------------------------------------------------
?
------解决方案--------------------------------------------------------
是每次都会崩溃还是偶尔才会崩溃?上述代码在什么模块中?
------解决方案--------------------------------------------------------
楼主有源代码没
看看这个函数的返回值定义,返回0表示正确还是错误??
从断的位置找,可以看出--如果没有出错,这里将return 0
再往前找一下,esi原先是指向什么内容的??
[esi]似乎是一个结构体,而且是一个全局的结构体
而[esi+8]是一个指针,这个指针指向了错误的位置
------解决方案--------------------------------------------------------
oleaut32.dll 好像是对象链接与嵌入OLE的功能模块,我觉得不应该是该模块的
问题,而是调用它的应用程序的问题。可能是空悬指针等的错误。建议如果再发生
错误检查线程call stack,回溯到应用程序中的某个函数。