VB6编译后崩溃

4
我的程序在新构建后崩溃了,每当我对代码进行更改后启动(F5或Ctrl-F5)我的程序时,VB6会崩溃,并显示以下消息:
“VB6.EXE [XXXX]中发生未处理的win32异常。”
我无法从XXXX中找出任何模式。它一直是5168、5012、1488等;每次崩溃都不同。
然后JIT调试器会提供让我在VS2010中调试VB6的选项(只显示一堆反汇编)。如果我选择否,则VB6会关闭。然后,我可以立即打开并启动我的程序,它可以正常运行;之前崩溃前的更改已保存。或者,我可以进行更改,保存它们,退出VB6,重新启动VB6,然后运行它们而没有问题。但似乎只要我进行任何更改,就会设置一个“崩溃”标志,如果我在重新启动VB6之前尝试构建它,它就会死机。
我只在特定项目中遇到这个问题。大多数项目完全正常。只有这一个项目及其分支表现出相同的行为。
有人知道发生了什么吗?显然,保存有效。构建也有效。运行也有效。它们似乎只是不能同时使用。
我重新安装了VB6,但问题仍未解决。

构建EXE并运行时是否会崩溃?您可以通过使用F8逐步执行来找出它在哪个点崩溃了吗?您是否检查过项目属性中是否有任何奇怪的东西? - hol
我的猜测是正在使用自定义控件。我很同情你,但这是我能提供的最多的了。 - Robaticus
@Jürgen Hollfelder - F8崩溃的方式与F5相同 - 我从未输入程序代码。 - dlras2
你正在运行哪个版本的Windows? - bugtussle
4个回答

1
尝试使用兼容模式打开VB6项目,选择XP模式。我们遇到了一些与"make exe"命令相关的问题。然后我开始在XP兼容模式下运行VB6.exe。

1

我在安装VS2010后,发现有一个VB6项目无法编译,于是来到了这个页面。

只需进入项目属性/编译选项卡,取消勾选“创建符号调试信息”即可。

希望对你有所帮助。


1
我在构建过程中遇到了这个错误。 我没有勾选属性。 - Kirsten
@KirstenGreed(或其他人),您可以尝试将属性打开,然后再关闭。以防数据损坏。 - StayOnTarget

0

既然您在寻求任何线索,可能的线索包括:

  • 当在Vista/7上运行时,VB6遇到的问题。尝试以提升/移除提升的方式运行。
  • 同样的问题,但是适用于您正在使用的第三方ActiveX控件。
  • 没有安装服务包6。安装它。
  • 子类化问题。确保您的任何子类化都是正确的。
  • 无论您永远无法解决的问题。尝试重新安装。

-2
重新安装 VB6,删除工作区文件,然后创建一个新项目并添加所有当前的代码文件。然后去找一个使用现代 SDK 的工作 :)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接