首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Win7和Win10上不同版本的msvbvm60.dll

Win7和Win10上不同版本的msvbvm60.dll
EN

Stack Overflow用户
提问于 2018-02-26 23:23:13
回答 2查看 1.8K关注 0票数 6

我们有一个遗留的VB6应用程序,它在Windows10上的某个时候崩溃了,但在Windows7上没有崩溃。当通过VB6集成开发环境运行时,它也不会崩溃(在任一操作系统上)。

在试图追踪这些差异时,我发现msvbvm60.dll在Win7和Win10上有细微的不同。具体来说,它具有相同的版本号和大小,但日期不同。随后的二进制比较表明,版本确实不同。

如果我们强制Win10机器使用Win7版本的msvbvm60.dll,崩溃就会得到修复。有没有人能解释一下这些版本之间的区别?我已经确认,这两个版本与您在干净安装的Win7和Win10上获得的版本相同,因此不是由于任何损坏。

尝试在网格(MSFlxGrd.ocx)上显示信息时发生崩溃。然而,网格在大多数情况下都是有效的。数据集比平时大,但只有8000行,所以不算极端。应用程序非常复杂,因此不容易检查数据或提供更多信息。

系统事件日志显示以下内容:

代码语言:javascript
运行
复制
Faulting module name: MSVBVM60.DLL, version: 6.0.98.15, time stamp: 0x49b01fc3
Exception code: 0xc00000fd
EN

回答 2

Stack Overflow用户

发布于 2018-02-28 04:39:57

因此,额外的行数可能会被计算在内。但是在你的代码中有一个递归函数。这是我的一个将NTStatus代码转换成Windows错误代码的程序。

堆栈是存储函数的局部变量、临时变量、函数的参数、返回值和返回地址的地方。一个程序以1 MByte的堆栈空间开始,最后是一个保护页。当堆栈增长到保护页时,虚拟内存管理器会引发内存异常,使堆栈增长4KByte,并放入一个新的保护页。堆栈已命中不可用且无法增长的内存。

代码语言:javascript
运行
复制
---------------------------
Serenity's Unicode Text Editor
---------------------------
NT Status 0xC00000FD (-1073741571)

Windows Error 0x3E9 (1001)

---------------------------
NT Status Message:

A new guard page for the stack cannot be created.


---------------------------
Windows Error Message:

Recursion too deep; the stack overflowed.


---------------------------
OK   
---------------------------
票数 0
EN

Stack Overflow用户

发布于 2020-07-29 15:35:28

我在Windows10和MSFlxGrd.ocx上遇到了一些问题。这些问题显示为“许可错误”,尽管我认为ocx是随vb6一起提供的。无论如何,当我运行以下zip文件中的exe时,所有这些问题都消失了(在运行它之前,解压缩文件夹中的所有文件)。

首先,关闭visual basic (如果打开)。然后使用unzip this file,然后在其中运行exe文件

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48991738

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档