如何调试VB6自动化错误

时间:2013-11-04 17:02:41

标签: debugging vb6

我在一个大的VB6应用程序上工作,我有很多困难来解决我关闭程序时出现的一些错误。

所有这些错误出现在最后一个代码行之后,因此我无法进行调试。我知道这些错误是“自动错误”。我试图在Visual Studio 2010中附加该过程,我遇到了以下错误: Exceptiondepremièremempareà0x7643c41fdans VB6.EXE:0xC000008F:浮点不精确的结果。

如何知道错误发生在哪个DLL的内存指针?

编辑:有关WinDbg的更多信息

(166c.2758): Access violation - code c0000005 (first chance)  
First chance exceptions are reported before any exception handling.  
This exception may be expected and handled.  
eax=01f8b004 ebx=00000800 ecx=01f16ce4 edx=00000000 esi=01f8b004 edi=006d0a68  
eip=729926a6 esp=0018f648 ebp=75850dfb iopl=0         nv up ei pl zr na pe nc  
cs=0023  ss=002b  ds=002b  es=002b  fs=0053  gs=002b             efl=00010246  
MSVBVM60!IID_IVbaHost+0x24066:  
729926a6 ff7174          push    dword ptr [ecx+74h]  ds:002b:01f16d58=????????  

1 个答案:

答案 0 :(得分:1)

这部分引起了我的注意:

"Floating-point inexact result."

试试这个:

转到: 项目>项目属性>编译>高级优化

选中“删除浮点错误检查”和“允许未浮动点操作”框勾选。如果勾选,请取消勾选,保存并重新运行项目。这允许Visual Basic在崩溃编程环境之前检查浮点数据类型及其相关的问题表达式。然后,您可以修复它找到的那些错误(比如除以零),而不是简单地跳过它们,并且当您对所有内容都已修复时感到高兴时,可以选择设置优化设置。