gpt4 book ai didi

vb.net - 用VB.NET和COM Interop看似随机崩溃

转载 作者:行者123 更新时间:2023-12-01 15:49:36 24 4
gpt4 key购买 nike

我正在考虑在VB 6中重写一个全新的VB.NET应用程序。

该应用程序在终端服务下运行,并大量使用COM。

由于某种原因,该应用程序存在随机性-

  • 随机访问冲突错误(WinDbg异常分析指向dll,例如comdlg32.dll,mscorwks)
  • 随机缓冲区溢出错误(相同)
  • 通常是随机错误-例如,Form.Load中的此行有时会抛出-Me.Icon = Resources.MyIcon

  • 我遵循了关于资源,垃圾收集,处置模式等的所有可能建议。这似乎没有任何用处。

    我在想硬件问题。它在终端服务下的Win2k3虚拟机上运行。基本服务器操作系统是具有64 GB RAM的Win2k3。该服务器有许多虚拟机,每个虚拟机都运行其自己的“东西”(Exchange等)。

    要么存在硬件问题,要么.NET环境不像人们想象的那么容易编程。

    如果对硬件进行了某种程度的验证(完全不同的说法),并且应用程序继续如此运行,那么这将是可行的方法(更接近金属的位置进行重写)吗?

    我不是虚拟机的忠实拥护者,并且怀疑它们的完整性。 (特别是在大型服务器上。)

    编辑-感谢大家的答复。原来,问题出在我的应用程序中是单个.NET .DLL,而该目标并未针对x86代码。 COM对象都是32位,操作系统是64位,因此我的.NET应用程序需要定位为32位。 (这解释了为什么我的示例VB6应用程序始终可以运行的原因。这并不是说我真的想走那条路。)

    最佳答案

    安装PDB文件,并使用"Debug Diagnostics Tool 1.1"监视您的应用程序,以识别是否发生泄漏。

    也查看这个"Good tools for analysing COM object registry interference?"

    关于vb.net - 用VB.NET和COM Interop看似随机崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/530740/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com