我维护一个用 VB6 编写的旧应用程序。在客户端环境中,它会引发运行时错误,我无法在调试器下重现该错误。有什么方法可以获取堆栈跟踪或错误位置吗?
我的意思是,不要在代码中放置跟踪语句,例如here或添加错误处理程序以记录每个过程,例如here.
这似乎是一个简单的问题。
对不起。
我只是不太了解VB6。
考虑到它的使用(或曾经)的广泛程度,要通过谷歌搜索任何信息是非常困难的。
尝试编译为 pcode 并查看是否仍然出现错误。这是 VB6 的调试模式和运行时模式之间的一个常见区别。我曾经编译为本机并遇到仅在运行时发生的错误。当我切换到 pcode 时,我发现错误要么消失了,要么更可能是一个新错误,反映了突然出现的实际问题,并且在调试模式下更容易重现。
如果尽管如此,您仍然收到错误,那么我真的建议您从程序堆栈的顶部开始,然后使用 Maero 的建议向下进行操作
On Error Goto Handler
<code>
Exit <routine>
Handler:
Err.Raise Err.Number, "(function_name)->" & Err.source, Err.Description
这是一种痛苦,但没有真正的解决办法。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)