用OD单步跟踪到call Variants::DispInvoke,F8后程序无反应,哪位大侠可以解释下
0045FD8C >/. 55 push ebp //按钮Open事件开始
0045FD8D |. 8BEC mov ebp, esp
0045FD8F |. 83C4 F0 add esp, -10
0045FD92 |. 33C9 xor ecx, ecx
0045FD94 |. 894D F4 mov dword ptr [ebp-C], ecx
0045FD97 |. 894D F0 mov dword ptr [ebp-10], ecx
0045FD9A |. 8955 F8 mov dword ptr [ebp-8], edx
0045FD9D |. 8945 FC mov dword ptr [ebp-4], eax
0045FDA0 |. 33C0 xor eax, eax
0045FDA2 |. 55 push ebp
0045FDA3 |. 68 07FE4500 push 0045FE07
0045FDA8 |. 64:FF30 push dword ptr fs:[eax]
0045FDAB |. 64:8920 mov dword ptr fs:[eax], esp
0045FDAE |. 8D55 F0 lea edx, dword ptr [ebp-10]
0045FDB1 |. 33C0 xor eax, eax
0045FDB3 |. E8 5430FAFF call System::ParamStr
0045FDB8 |. 8B45 F0 mov eax, dword ptr [ebp-10]
0045FDBB |. 8D55 F4 lea edx, dword ptr [ebp-C]
0045FDBE |. E8 158FFAFF call Sysutils::ExtractFilePath
0045FDC3 |. 8D45 F4 lea eax, dword ptr [ebp-C]
0045FDC6 |. BA 1CFE4500 mov edx, 0045FE1C ; ASCII "doc1.doc"
0045FDCB |. E8 D448FAFF call System::LStrCat
0045FDD0 |. 8B45 F4 mov eax, dword ptr [ebp-C]
0045FDD3 |. 50 push eax
0045FDD4 |. 68 28FE4500 push 0045FE28
0045FDD9 |. 8B45 FC mov eax, dword ptr [ebp-4]
0045FDDC |. 05 10030000 add eax, 310
0045FDE1 |. 50 push eax
0045FDE2 |. 6A 00 push 0
0045FDE4 |. E8 6B01FBFF call Variants::DispInvoke //单步跟踪到这行运行后程序无反应,如果不是单步跟踪的话则没有问题
0045FDE9 |. 83C4 10 add esp, 10
0045FDEC |. 33C0 xor eax, eax
0045FDEE |. 5A pop edx
0045FDEF |. 59 pop ecx
0045FDF0 |. 59 pop ecx
0045FDF1 |. 64:8910 mov dword ptr fs:[eax], edx
0045FDF4 |. 68 0EFE4500 push 0045FE0E
0045FDF9 |> 8D45 F0 lea eax, dword ptr [ebp-10]
0045FDFC |. BA 02000000 mov edx, 2
0045FE01 |. E8 FA45FAFF call System::LStrArrayClr
0045FE06 \. C3 retn
正常画面:
程序无反应画面:
哪位可以解释下,是不是要调整OD的某些设置.
附件中是delphi7程序示例源码.
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!