我在一个大的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=????????
答案 0 :(得分:1)
这部分引起了我的注意:
"Floating-point inexact result."
试试这个:
转到: 项目>项目属性>编译>高级优化
选中“删除浮点错误检查”和“允许未浮动点操作”框不勾选。如果勾选,请取消勾选,保存并重新运行项目。这允许Visual Basic在崩溃编程环境之前检查浮点数据类型及其相关的问题表达式。然后,您可以修复它找到的那些错误(比如除以零),而不是简单地跳过它们,并且当您对所有内容都已修复时感到高兴时,可以选择设置优化设置。