VB6 应用程序调用 .NET DLL OutOfMemory 异常

2024-04-10

我们有一个调用 .NET DLL 的 VB6 应用程序。有时,在 VB6 应用程序运行很长时间并多次调用 .NET 代码后,.NET 方面会抛出 OutOfMemory 异常,即使计算机上有足够的可用内存。 VB6 的内存空间也远未达到极限。

.NET 端是否保留单独的内存池?或者它是 VB6 应用程序内存池的一部分吗?

如果是分开的,有没有办法看出它有多大?我的任务管理器中唯一占用大量内存的项目是 SQL Server 和 VB6 应用程序(都是预期的)。

这种情况并不经常发生,但一旦发生,就很难确定为什么系统不分配更多内存。


答案最终非常简单:

使用 DEBUG 配置构建的 .NET DLL 在运行时会发生泄漏。

切换到 RELEASE 版本解决了我的问题。

背景:

我终于让 ANTS 调试 VB6 应用程序并查看 .NET 进程(必须更改 VB6 代码以尽快加载 .NET 代码)。完成此操作后,我看到大量弱引用对象,其父对象是 __ENCList。此类允许在调试期间进行编辑并继续。快速的 Google 搜索立即显示这是由使用 DEBUG 构建引起的。

我的谷歌搜索 http://www.google.com/search?q=__ENCList

Links:

调试构建中的弱引用 http://social.msdn.microsoft.com/Forums/en-US/clr/thread/b83106bd-8afe-4291-8620-f173e214cd23

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

VB6 应用程序调用 .NET DLL OutOfMemory 异常 的相关文章

  • HttpUtility.ParseQueryString 不解码特殊字符

    Uri uri new Uri redirectionUrl NameValueCollection col HttpUtility ParseQueryString uri Query uri Query已经被解码 那么我有什么办法可以阻
  • 如何将 Excel 中的图表导出为图形

    我有一系列 Excel 电子表格 每个电子表格至少包含一页数据和一页根据数据创建的图表 我需要捕获 不从数据中重新生成 将现有图表作为网络友好图像 这可以通过 Java 或 Net 实现吗 我知道 POI 的东西 Java 不会这样做 或者
  • 设置 MetaspaceSize 的指南 - java 8

    64 位服务器的 MetaspaceSize 默认值是多少 我在官方文档中没有找到它 我观察到 在服务器 JVM 进程中 GC 频率有时会变高并持续增长 如果我重新启动服务几次 它就会恢复稳定 我认为这是由于 JRE 升级造成的 JVM 堆
  • 为什么 Azure Key Vault 安全?

    Azure Key Vault 为什么或如何安全 我需要在服务器上存储密钥 URI 客户端 ID 和客户端密钥 因此如果任何人授予对托管应用程序的服务器的访问权限 他将能够访问存储在 Key Vault 中的密钥和密钥 这意味着将它们存储在
  • 导入 IronPython 的嵌入式库

    我已通过 NuGet 将 IronPython 标准库添加到我的 c net4 项目中 后来获得了一些参考资料 IronPython IronPython Modules IronPython SQLite IronPython Wpf M
  • File.Exists("") 和 FileInfo 存在有什么区别

    我在 Program Files x86 MyApp 文件夹中有一个 exe 文件 在 x86 应用程序中 我检查文件是否存在 64 位系统 简单的 bool fileExists File Exists ProgramFiles x86
  • Control.Invoke 是否泵送消息?

    Control Invoke 在被阻塞时是否继续在调用它的线程中泵送消息 系统 Windows 窗体 不会 Invoke 是阻塞的 整个线程将阻塞 直到对 Invoke 的调用返回 还有开始调用 http msdn microsoft co
  • 如何重用具有稍微不同的 ProcessStartInfo 实例的 Process 实例?

    我有以下开始的代码robocopy https technet microsoft com en us library cc733145 aspx as a Process 我还需要进行数据库查询以确定每次需要复制哪些目录robocopy被
  • 如何处理剪贴板阻塞和其他异常情况

    在过去的几个小时中 我一直在追踪一个相当具体的错误 该错误是由于另一个应用程序打开了剪贴板而发生的 本质上 由于剪贴板是共享资源 根据 为什么我的共享剪贴板不起作用 http blogs msdn com rds archive 2006
  • 是否可以在 VC++/CLI 中重写 IEnumerable?

    我有一个返回一个的接口IEnumerable 我想在 VC CLI 中实现这个 因为数据来自第三方非托管 DLL 到目前为止我有 public ref class MyEnumerable IEnumerable
  • 当绑定值为 null 时出现 WPF 日期选择器验证错误

    我有一个 WPF 应用程序 其中使用绑定到实体框架 带有 SQL Server 实体的日期字段的日期选择器 我将其绑定如下
  • C#中如何通过Proxy访问互联网

    我正在使用 C 设计一个 Windows 窗体应用程序 当连接到互联网时 该应用程序可以顺利执行其功能 但当我们在学院尝试该应用程序时 真正的问题就开始了 我们的学院使用代理网关连接到网络 代理服务器是192 168 120 5和代理端口8
  • 在 C++/CLI 中创建时初始化静态字典

    今天我看到创建静态字典并初始化它的 C 代码 public static readonly Dictionary
  • 找不到文件异常..但它就在那里

    嘿 这将是那些愚蠢的问题之一 我试图在本地系统上获取一个文件 但我不断收到FileNotFoundException thrown 请有人纠正我 if File Exists C logs hw healthways prod 2009 0
  • 使用 SSL 设置 .Net IBM.XMS 客户端

    我必须创建一个客户端来侦听队列上的消息 正在使用 SSL 我正在 dot net 中进行开发 我浏览了数百页的文档和论坛 找到了一些清晰简洁的内容 但看起来事实并非如此 我有一个 jks 并且我能够 telnet 到正在发布队列的服务器 下
  • 表达式 >.Compile() 的逆向?

    因为我们可以 Expression
  • 在桌面应用程序中,类库的连接字符串存储在哪里?我可以在app.config中使用吗?

    我是桌面应用程序开发的新手 目前正在使用分层架构 用户界面 DAL BLL 构建桌面应用程序 在 Web 开发中 我曾经将连接字符串存储在 web config 中 我的类库从那里访问它 请指导我在桌面应用程序中如何以及在何处存储 DAL
  • Swift 5 MacOS 图像调整大小内存问题

    我是使用 Swift 进行 Mac OS 应用程序开发的新手 但我尝试制作简单的 ImageResizer 应用程序 我必须调整 50k 图像的大小 10个小时后 内存已增加到近120GB 我以为 Swift 也有垃圾收集器 为什么它可以增
  • 正则表达式删除某些字符周围不需要的空格

    我正在尝试从 JavaScript 文件中删除一些不需要的空格 并在将文件发送到客户端之前使用 C 和 Regex 组合文件 我有一个JavascriptHandler处理 js 文件 效果很好 这是我用来 打包 JavaScript 的函
  • 如何让实体框架初始化新创建的实体上的集合?

    我正在尝试用一些测试数据来种子我的数据库IDatabaseIntialiser像这样 protected override void Seed BlogDataContext context

随机推荐

  • dyld:未加载库:lib/libopencv_core.3.0.dylib 原因:未找到图像

    我遇到以下问题 Users luke Desktop trainHOG trainhog exit dyld Library not loaded lib libopencv core 3 0 dylib Referenced from U
  • 带参数执行

    我在 Java 中执行需要参数的批处理文件时遇到困难 这些参数可能包含空格 因此我需要将它们用引号引起来 我还需要对 Linux 执行相同的操作 因为某些参数可能包含特殊字符 例如 非功能性 Windows 代码 ProcessBuilde
  • Ruby 2.0 中正确的哈希语法是什么? [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我应该使用
  • Inno Setup:如何观察变量值或写入调试输出?

    在 Inno Setup 中调试时如何观察变量的值 如何打印一些内容来调试输出 Thanks 目前没有调试监视窗口 但当调试器在断点处停止时 您只需将鼠标悬停在要检查的变量上即可 要将某些内容打印到调试输出 请使用Log http jrso
  • 让 jQuery 插件在动态添加的元素上工作

    好吧 我有这个插件 http timeago yarp com 它可以在现有元素上正常工作 但是 当我动态添加元素时 效果不会应用于该新元素 如何使插件在动态添加的元素上工作 该插件的语法是 abbr timeago timeago 这是添
  • Python 字符串和列表

    几天来一直在解决这个小问题 我不知道我是否全错了或者只是错过了一些东西 目标 从句子中的每个单词中 找到第一个元音 从单词中删除该元音后面的字母 并将剩余字母乘以 3 这个例子 如果我有一句话 Hello World 想要的输出应该是 He
  • 如何直接从 Android Wear 通过 WiFi 发出 HTTP 请求?

    如何在 Android Wear 上执行 HTTP 请求或打开套接字 我曾经认为这是不可能的但是应用程序说以下内容 如果您有配备 Android Wear 5 1 和 WiFi 的智能手表 即使您的手机处于关闭状态 也能正常工作 我测试了它
  • Java 应用程序可以使用 Aero Glass 效果吗?

    基于Swing的Java能否在Windows Vista 7下实现Aero Glass效果作为背景 从 Java SE 6 开始 Swing 的 Windows 原生外观使用 Aero Chet Haase 发表了一篇博客文章 其中包含有关
  • 线程“main”中出现异常 java.lang.SecurityException:禁止的包名称:java.lang

    我是 Java 新手 我有一个程序返回以下错误 我完全无法弄清楚 我用谷歌搜索了一切 你们能帮我吗 package java lang public class S1 public static void main String args
  • Rails 并发请求

    所以我有一个 Rails 应用程序可以解析一个长 json 文件 在此期间它向外部 API 发送请求 这似乎需要很长时间 我的问题是 是否像将每个请求放入单独的线程中以加快速度一样简单 我不明白为什么我不能同时运行 3 或 4 个线程来发送
  • jQuery 排序导致 iOS Safari 冻结

    我有一个页面使用 jQuery 加载 XML 文件 然后将其内容输出到页面 最近 我在输出中添加了排序功能 导致 iPod Touch 上的 Safari 挂起 1 分钟以上或 2 分钟以上 取决于我排序的字段数量 而在 iPad 上挂起不
  • 无法调试,致命信号 6 (SIGABRT) 位于 0x00007c37(代码=-6)

    我遇到了以下情况 无法调试 Android 应用程序 我可以运行它 但无法调试它 我开始了全新的项目 复制了所有内容并且它有效 意味着能够调试 但又得到了这个 我在模拟器和手机上都尝试过 但没有成功 我使用的是Android Studio
  • Angular 2 - ngShow 等效吗? [复制]

    这个问题在这里已经有答案了 根据我对文档的解释 如果我希望能够默认隐藏一个元素 并在单击链接时显示该元素 那么以下应该可以工作吗 在 app app component ts 中 newTrustFormVisible false 在 ap
  • 在哪里可以找到“Microsoft.VisualStudio.TestTools.UnitTesting”缺失的 dll?

    我的 C Visual Studio 项目中出现以下错误 命名空间 Microsoft 中不存在类型或命名空间名称 VisualStudio 是否缺少程序集引用 我还尝试查找 microsoft dll 文件 但找不到任何参考 我是否搜索了
  • 容器和包装的区别

    在编程语言 例如 Java 中 有什么区别container and wrapper 或者有什么区别 我听过这两个术语的使用都很模糊 在编程语言中这个词容器通常用于可以包含多个元素的结构 例如Map a Set or a List 这些结构
  • Python:使用正则表达式获取列表索引?

    在Python中 如何获取列表中项目的位置 使用list index 使用模糊匹配 例如 如何获取以下形式的所有水果的索引 berry在下面的列表中 fruit list raspberry apple strawberry Is it p
  • 如何处理文件名中的破折号

    在装有 Windows 7 的 PC 上 我使用一个简单的批处理脚本来重命名一些 Excel 文件 并在其父文件夹名称前面添加 for f delims i in dir b AD do cd i for f delims j in dir
  • 如何将控制台输出发送/拆分/复制到 R 中的变量中?

    如何将某些代码的输出放入变量中 我希望该输出仍然发送到控制台 我更喜欢sink符号 我不想使用capture output有两个原因 它要求相应的代码是单个函数 我不想通过创建函数来捕获输出来使我的代码复杂化 它不允许捕获的输出仍然进入控制
  • PHP - getimagesize() 重定向不起作用

    问题 getimagesize 对于某些 URL 不起作用 尤其是重定向的 URL 我用谷歌搜索并检查了 stackoverflow 但无济于事 这是我在本地计算机上看到的内容 var dump getimagesize http gan
  • VB6 应用程序调用 .NET DLL OutOfMemory 异常

    我们有一个调用 NET DLL 的 VB6 应用程序 有时 在 VB6 应用程序运行很长时间并多次调用 NET 代码后 NET 方面会抛出 OutOfMemory 异常 即使计算机上有足够的可用内存 VB6 的内存空间也远未达到极限 NET