首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >调试VB6故障转储

调试VB6故障转储
EN

Stack Overflow用户
提问于 2014-10-14 04:53:34
回答 1查看 2.2K关注 0票数 5

我有一个可以在成千上万台机器上运行的VB6应用程序。在极少数情况下,我得到一个“此应用程序已停止工作”的错误。我在Vista,Windows7 (x32和x64)和Windows8.1上都看到过。

我已经将它缩小到发生在第一次form_resize事件和第一次重新绘制主窗口期间窗体的实际绘制之间的某个时间。它发生在我的VB6代码之外的某个地方,因为我无法捕获错误,并且我输入的所有日志记录都是无用的。例如,如果应用程序启动时主窗口可见,它就会崩溃。如果它以最小化方式启动,它会运行run,直到您激活窗口,然后它就会崩溃。今天,我设法从一台客户端计算机上获得了一个崩溃转储(因为,当然,我们永远不会让它在我们的开发机器上崩溃)。这是WinDBG告诉我的。我非常感谢(任何)帮助,因为我自2012年以来一直在努力查明这件事的真相(!)。

代码语言:javascript
复制
    FOLLOWUP_IP: 
msvbvm60!Zombie_Release+1233b
72960d94 8901            mov     dword ptr [ecx],eax

APP:  timeclockmts.exe

ANALYSIS_VERSION: 6.3.9600.16384 (debuggers(dbg).130821-1623) x86fre

PRIMARY_PROBLEM_CLASS:  WRONG_SYMBOLS

BUGCHECK_STR:  APPLICATION_FAULT_WRONG_SYMBOLS

LAST_CONTROL_TRANSFER:  from 72a09a7b to 72960d94

STACK_TEXT:  
WARNING: Stack unwind information not available. Following frames may be wrong.
00097504 72a09a7b 01396b8c 4fb934ec 60030053 msvbvm60!Zombie_Release+0x1233b
00097544 72a09c2c 01396b8c 00000009 00000000 msvbvm60!BASIC_DISPINTERFACE_GetTypeInfo+0x2aa
00097574 758c370d 01396b8c 00000009 75870630 msvbvm60!EVENT_SINK_Invoke+0x50
000975cc 7589c30e 00000000 000273c9 0b0dcb40 oleaut32!VarMonthName+0x11350
000975e0 758c41e5 00000001 00000002 00000000 oleaut32!VarDecNeg+0x5d45
000975f4 729932c4 0b0dcb40 000273c9 00000000 oleaut32!VarMonthName+0x11e28
00097628 72973db1 0523c0dc 00000012 4180923a msvbvm60!IID_IVbaHost+0x24c84
0009767c 729c1e19 0000000d 4180923a 0523bebc msvbvm60!IID_IVbaHost+0x5771
000976b8 729acdb0 0000000d 4180923a 05221380 msvbvm60!IID_IVbaHost+0x537d9
000976f4 729ad0a1 0523c0dc 0000000d 4180923a msvbvm60!IID_IVbaHost+0x3e770
00097728 72980eed 034a0904 0000000d 00000001 msvbvm60!IID_IVbaHost+0x3ea61
00097988 4fbadfdb 01396a70 000979fc 000979f4 msvbvm60!IID_IVbaHost+0x128ad
00097a20 4fbaa41a 01396a70 0009834c 00098478 ciaXPLabel30!DllCanUnloadNow+0x10efd
00097a5c 75873e75 01396a70 0b0ee654 00000000 ciaXPLabel30!DllCanUnloadNow+0xd33c
00097a78 72a16ef5 01396b8c 0000001c 00000004 oleaut32!DispCallFunc+0xa6
000983d4 72a09a7b 01396b8c 4fb934ec 60030053 msvbvm60!_vbaAptOffset+0x68b
00098414 72a09c2c 01396b8c 00000009 00000000 msvbvm60!BASIC_DISPINTERFACE_GetTypeInfo+0x2aa
00098444 758c370d 01396b8c 00000009 75870630 msvbvm60!EVENT_SINK_Invoke+0x50
0009849c 7589c30e 00000000 000273c9 0b0dcb40 oleaut32!VarMonthName+0x11350
000984b0 758c41e5 00000001 00000002 00000000 oleaut32!VarDecNeg+0x5d45
000984c4 729932c4 0b0dcb40 000273c9 00000000 oleaut32!VarMonthName+0x11e28
000984f8 72973db1 0523c0dc 00000012 4180923a msvbvm60!IID_IVbaHost+0x24c84
EN

回答 1

Stack Overflow用户

发布于 2014-10-14 10:34:25

多亏了blabb教我如何修复我的符号并重新运行分析,我崩溃的原因变得显而易见。不幸的是,我已经通过反复试验解决了这个问题(一次从一个窗体中移除控件,直到崩溃停止)。下面是告诉我发生了什么的崩溃转储代码:

代码语言:javascript
复制
00097a20 4fbaa41a 01396a70 0009834c 00098478 ciaXPLabel30!DllCanUnloadNow+0x10efd
00097a5c 75873e75 01396a70 0b0ee654 00000000 ciaXPLabel30!DllCanUnloadNow+0xd33c

完整的日志看起来就像这个控件试图处理自身的无限循环。我已经摆脱了控制,现在一切都运行得很好。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26348700

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档