【发布时间】:2012-01-03 20:28:17
【问题描述】:
我有一个最初加载的 VB6 应用程序(用于输入许可证密钥的小提示,仅在第一次时)。它在我的机器上运行良好(Windows 7)。
我抱怨它在别人的机器(xp 和 7)上崩溃,所以我做了一个 Windows XP 虚拟机。我在虚拟机上安装了它,它崩溃了。我想看看它在哪里崩溃,所以我在虚拟机上安装了 Visual Studio,这样我就会得到一个调试提示。当我再次运行该程序时,它工作了。
我对 C++ 比较熟悉,遇到过这类问题,所以我认为这是某种运行时问题。
我发现了这个 VB6 SP6 Redistributable Runtime:
http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=24417
我安装了它,但它仍然无法运行。
有什么想法可以从这里开始吗?
编辑:
我试过depends.exe,它只显示MSJava,听说可以忽略。 depends.exe 是否还显示所需的 .ocx(Active X 控制器?)之类的内容?
此外,在 cmd 提示符下,似乎没有填充 %errorlevel%。这是 VB6 的事情,还是表明这确实是崩溃而不是用户退出?
【问题讨论】:
-
在没有 Visual Studio 的 VM 或其他 PC 中打开 Dr Watson 错误崩溃报告,并在您让它崩溃时分析崩溃转储。它应该告诉你它在哪个函数中崩溃了。另外,检查你的编译设置。确保所有安全设置都已打开,例如边界检查等。
-
您的可执行文件中有清单吗?没有它会更好吗?
-
尝试检查 Windows 事件日志。
-
你能比“它崩溃”更具体,还是它真的只是消失了,在屏幕或事件日志中没有任何指示?
标签: vb6 crash runtime redistributable