Suggestions for debugging a VB component?
I don't have any experience with VB code. But I do know I have a problem with a VB app which hangs in a ocx of his. I can see in windbg that it throws the c000008f exception over and over again and i know that it's just the VB exception handling and it has nothing to do with the "Floating Point In-exact Result" hardware exception (it was just Microsoft's 'brilliant' way of implementing it).
So, the problem. How do I find out what the problem really is ? I don't have Visual Studio installed here, but I do have on my laptop VS 2010 Express installed. Still, I don't think that will work either, i need the Pro version to debug this kind of stuff.
Also, I enabled logging in the problem app and these are the last lines I get:
............. (bla bla bla) .............
[COVEControls] [00204] [00008.912] <- slbChart.ctl : Sub AddItem : (Label=DataObjs, Value=0, Color=, LabelColor=) : [res = 22%, mem = 2147483647]
[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] <- slbChart.ctl : Sub LayoutChart : () : [res = 22%, mem = 2147483647]
[COVEControls] [00208] [00008开发者_如何学C.912] <- slbChart.ctl : Sub AddItem : (Label=Conts, Value=1, Color=, LabelColor=) : [res = 22%, mem = 2147483647]
[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] <- frmMain.frm : Sub COVE1_StatusMsg : (statMsg=Getting Card Information (reading total and free data space)) : [res = 22%, mem = 2147483647]
[COVEControls] [00209] [00008.948] <- COVE.ctl : Sub SetSizeBars : () : [res = 22%, mem = 2147483647]
[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%, mem = 2147483647]
[COVEControls] [00212] [00008.950] <- COVE.ctl : Sub DrawLayer : (pic=, shp=, pct=7.779998E-02, color1=32768, color2=128) : [res = 22%, mem = 2147483647]
[COVEControls] [00213] [00008.950] -> COVE.ctl : Sub DrawLayer : (pic=, shp=, pct=7.779998E-02, color1=32768, color2=128) : [res = 22%, mem = 2147483647]
[COVEControls] [00214] [00008.950] <- COVE.ctl : Sub DrawLayer : (pic=, shp=, pct=7.779998E-02, color1=32768, color2=128) : [res = 22%, mem = 2147483647]
[COVEControls] [00215] [00008.950] -> COVE.ctl : Sub DrawLayer : (pic=, shp=, pct=7.779998E-02, color1=32768, color2=128) : [res = 22%, mem = 2147483647]
[COVEControls] [00216] [00008.950] <- COVE.ctl : Sub DrawLayer : (pic=, shp=, pct=7.779998E-02, color1=32768, color2=128) : [res = 22%, mem = 2147483647]
....
And it's just repeating DrawLayer ad infinitum. The function which crashes the app succeeds, you can catch a glimpse of the retrieved data for a few secs, then it stops updating the client area and turns to white, mouse pointer is still a hourglass, the app is nonresponsive, after forcing it to close it says in the report details: "hungapp"
So, anyone has a clue of how to find out how it fails ? Do I really need Visual Studio Pro ftw ? (o.o)'
The .ocx, .ctl, and .frm extensions are all artifacts of vb6/Visual Studio 6. You won't be able to edit this project with the Express Edition currently installed, and you won't be able to buy a current "Pro" to fix this. Visual Studio 6 is no longer available for sale anywhere.
This exception code is used internally by VB6. This is by design.
Mode info here :
INFO: Visual Basic Uses Exception Code 0xC000008F as Internal Exception Code
Old school debugging - VB6 middleware applications - c000008f
Are you aware that you have thrown over 40,000 exceptions in the last 3 hours?
精彩评论