【发布时间】:2011-04-26 14:49:51
【问题描述】:
我对 VB 代码没有任何经验。但我确实知道我有一个挂在他的 ocx 中的 VB 应用程序的问题。我可以在 windbg 中看到它一遍又一遍地抛出 c000008f 异常,我知道这只是 VB 异常处理,它与“浮点不精确结果”硬件异常无关(这只是微软的“出色' 的实现方式)。
所以,问题。我如何找出真正的问题是什么?我没有在这里安装 Visual Studio,但我的笔记本电脑上安装了 VS 2010 Express。不过,我认为这也行不通,我需要专业版来调试这种东西。
另外,我启用了问题应用程序的登录,这是我得到的最后几行:
...... (布拉布拉布拉) ......
[COVEControls] [00204] [00008.912]
[COVEControls] [00205] [00008.912] -> slbChart.ctl : Sub AddItem : (Label=Conts, Value=1, Color=, LabelColor=) : [res = 22%, mem = 2147483647]
[COVEControls] [00206] [00008.912] -> slbChart.ctl : Sub LayoutChart : () : [res = 22%, mem = 2147483647]
[COVEControls] [00207] [00008.912]
[COVEControls] [00208] [00008.912]
[Cove] [00116] [00009.026] -> frmMain.frm : Sub COVE1_StatusMsg : (statMsg=Getting Card Information (reading total and free data space)) : [res = 22%, mem = 2147483647]
[Cove] [00117] [00009.026]
[COVEControls] [00209] [00008.948]
[COVEControls] [00210] [00008.949] -> COVE.ctl : Sub DrawPie : (pic=, shp0=, shp1=, pctFree=0.9222) : [res = 22%, mem = 2147483647]
[COVEControls] [00211] [00008.950] -> COVE.ctl : Sub DrawLayer : (pic=, shp=, pct=7.779998E-02, color1=32768, color2=128) : [res = 22%,内存 = 2147483647]
[COVEControls] [00212] [00008.950]
[COVEControls] [00213] [00008.950] -> COVE.ctl : Sub DrawLayer : (pic=, shp=, pct=7.779998E-02, color1=32768, color2=128) : [res = 22%,内存 = 2147483647]
[COVEControls] [00214] [00008.950]
[COVEControls] [00215] [00008.950] -> COVE.ctl : Sub DrawLayer : (pic=, shp=, pct=7.779998E-02, color1=32768, color2=128) : [res = 22%,内存 = 2147483647]
[COVEControls] [00216] [00008.950]
....
而且它只是在无限重复 DrawLayer。使应用崩溃的功能成功,你可以瞥见检索到的数据几秒钟,然后它停止更新客户区并变为白色,鼠标指针仍然是沙漏,应用程序无响应,强制后它关闭它在报告详细信息中说:“hungapp”
那么,任何人都知道如何找出它是如何失败的吗?我真的需要 Visual Studio Pro ftw 吗? (o.o)'
【问题讨论】:
-
这真是太棒了。程序员对 On Error Resume Next 所做的总是真正的问题。一个很好的极端情况是在带有循环的过程中使用它并且退出条件引发错误。没有出口。
标签: debugging exception vb6 components