Windbg调试IE前端页面无响应一点小经验
Thread Time
8:ac8 0 days 7:15:48.484
12:a14 0 days 0:00:00.359
10:7a0 0 days 0:00:00.359
7:c00 0 days 0:00:00.187
18:fec 0 days 0:00:00.125
9:41c 0 days 0:00:00.046
6:f40 0 days 0:00:00.046
5:c18 0 days 0:00:00.031
3:f60 0 days 0:00:00.015
20:85c 0 days 0:00:00.000
19:f2c 0 days 0:00:00.000
17:1d0 0 days 0:00:00.000
16:b70 0 days 0:00:00.000
15:f04 0 days 0:00:00.000
14:88c 0 days 0:00:00.000
13:2d8 0 days 0:00:00.000
11:71c 0 days 0:00:00.000
4:fb0 0 days 0:00:00.000
2:1dc 0 days 0:00:00.000
1:e94 0 days 0:00:00.000
0:f28 0 days 0:00:00.000
0:020> ~8s
eax=1305cd08 ebx=012b5ebf ecx=0206ec94 edx=0009001f esi=001aa080 edi=011090c6
eip=7c9585ec esp=0206ef2c ebp=0206ef50 iopl=0 nv up ei pl nz ac po nc
cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00000212
ntdll!KiFastSystemCallRet:
7c9585ec c3 ret
0:008> kb
ChildEBP RetAddr Args to Child
0206ef28 77e2c403 636804a8 21bf04f4 011090c6 ntdll!KiFastSystemCallRet
0206ef50 6362ce28 001cf718 63686698 00000000 user32!NtUserSetTimer+0xc
0206ef8c 6362cf93 001cf718 0206f2b0 00004e20 mshtml!CWindow::SetTimeout+0xd2
0206efac 6362cf57 001cf730 0206f2b0 00004e20 mshtml!CWindow::setTimeout+0x20
0206efd4 6362ccc5 001cf730 0206f2b0 00004e20 mshtml!COmWindowProxy::setTimeout+0x49
0206f040 636430c9 06fd8320 13cb8370 06fd8338 mshtml!Method_longp_VARIANTp_long_o0oVARIANTp+0x12e
0206f0b4 63643595 06fd8320 0000044f 00000001 mshtml!CBase::ContextInvokeEx+0x5d1
0206f0e0 636434e4 06fd8320 0000044f 00000001 mshtml!CBase::InvokeEx+0x25
0206f150 636435c4 06fd8320 0000044f 00000001 mshtml!COmWindowProxy::InvokeEx+0x2c7
0206f178 63642f30 06fd8320 0000044f 00000001 mshtml!COmWindowProxy::subInvokeEx+0x26
0206f1a0 63642eec 06fd8320 0000044f 00000001 mshtml!CBase::VersionedInvokeEx+0x20
0206f1f0 633a6d37 0c9906c0 0000044f 00000001 mshtml!PlainInvokeEx+0xea
0206f230 633a6c75 0b9a1008 0000044f 00000409 jscript!IDispatchExInvokeEx2+0xf8
0206f26c 633a9cfe 0b9a1008 00000409 00000001 jscript!IDispatchExInvokeEx+0x6a
0206f32c 633a9f3c 0000044f 00000001 00000000 jscript!InvokeDispatchEx+0x98
0206f360 633a77ff 0b9a1008 0206f394 00000001 jscript!VAR::InvokeByName+0x135
0206f3ac 633a85c7 0b9a1008 00000001 00000000 jscript!VAR::InvokeDispName+0x7a
0206f3dc 633a9c0b 0b9a1008 00000000 00000001 jscript!VAR::InvokeByDispID+0xce
0206f578 633a5ab0 0206f590 00000000 00000000 jscript!CScriptRuntime::Run+0x2989
0206f660 633a59f7 00000000 00000000 067225b8 jscript!ScrFncObj::CallWithFrameOnStack+0xff
发现该IE进程中一直在执行 SetTimeout,0206ef8c 6362cf93 001cf718 0206f2b0 00004e20 mshtml!CWindow::SetTimeout+0xd2。
之后在 js代码中发现 A 函数中:
window.setInterval("B()",5000);
然后B函数中:
window.setTimeout("B()",20000);
这两个定时器会造成类似于很多的B()在不断执行。会造成CPU一直很高,IE无响应。
浙公网安备 33010602011771号