用C#写的软件,是x86Release编译的,之前是好的。但是加了secs通讯的第三方库和相关代码后,跑大约8-15小时就会闪退,windows日志里面报错system.outofmemory。指向的是我的全自动跑料的开始线程,这明显不是它造成的。我想问,如果这个第三方库是anycpu编译的会不会对我程序造成资源溢出或其他可能
30条回答 默认 最新
- 阿里嘎多学长 2024-09-16 05:28关注
获得0.15元问题酬金 AIGC生成:
C#中的编译平台的区别影响
你遇到的问题是C#程序在编译为x86Release后,添加了secs通讯的第三方库和相关代码后,程序会在8-15小时后闪退,并且在Windows日志中报错system.outofmemory。
可能的解决方法:
- 检查第三方库的依赖关系:secs通讯的第三方库可能会引入其他依赖关系,导致程序的内存使用增加。可以检查第三方库的依赖关系,确保它们不对程序的内存使用产生影响。
- 调整程序的内存分配:可以尝试调整程序的内存分配,例如使用
GCSettings.LargeObjectHeapSizeLimit
来设置大对象堆的大小。 - 使用64位编译:如果你的程序不需要使用32位特定的功能,可以尝试将编译平台从x86Release更改为x64Release。64位编译可以提供更大的内存空间。
- 检查代码中的内存泄露:可以使用工具如CLR Profiler或Visual Studio的内存分析工具来检查代码中的内存泄露。
- 优化代码:可以尝试优化代码,例如使用缓存、减少不必要的对象创建等,以减少内存使用。
- 检查Windows日志:可以检查Windows日志,以了解系统是否存在其他问题,例如内存不足等。
总之,解决这个问题需要对程序的内存使用和依赖关系进行深入分析和优化。
解决 无用评论 打赏 举报
悬赏问题
- ¥15 如何构建全国统一的物流管理平台?
- ¥100 ijkplayer使用AndroidStudio/CMake编译,如何支持 rtsp 直播流?
- ¥20 和学习数据的传参方式,选择正确的传参方式有关
- ¥15 这是网络安全里面的poem code
- ¥15 用js遍历数据并对非空元素添加css样式
- ¥15 使用autodl云训练,希望有直接运行的代码(关键词-数据集)
- ¥50 python写segy数据出错
- ¥20 关于线性结构的问题:希望能从头到尾完整地帮我改一下,困扰我很久了
- ¥30 3D多模态医疗数据集-视觉问答
- ¥20 设计一个二极管稳压值检测电路