【发布时间】:2018-08-14 20:09:43
【问题描述】:
问题已解决警报。首先阅读最终更新。 ..................................................
我有一个通过 COM 调用 c# 库的 vb6 应用程序
C# 库是 Framework 4.5.2
如果我在运行 VS2017 15.5.6 的特定机器上构建 COM 库,我没有问题。
如果我在特定记录中使用 vS2017 15.5.2 签出相同的代码并在另一台机器上构建它(我尝试了其中 2 台),我会遇到应用程序崩溃。
错误发生在代码行
if (edge.Extra == null) // 给定的边不为空,Extra 是一个属性
在 Windows 事件日志中有
Faulting application name: jtJobTalk.exe, version: 1.0.0.0, time stamp: 0x5a9f5b1c
Faulting module name: ntdll.dll, version: 6.3.9600.18895, time stamp: 0x5a4b127e
Exception code: 0xc00000fd
Fault offset: 0x0006d46c
Faulting process ID: 0xb74
Faulting application start time: 0x01d3b5c77355520d
Faulting application path: C:\jobtalk\jtJobTalk.exe
Faulting module path: C:\Windows\SYSTEM32\ntdll.dll
Report ID: d1374fd2-21ba-11e8-8272-d050999dc03c
我尝试了 sfc 扫描,没有报告任何问题。
在另一台计算机(运行 Windows 7)上出现错误
A new guard page for the stack cannot be created
如何进一步解决此问题?
我怕更新好机器上的VS版本,以防导致我无法发布。
[更新]
在对 MessageBox.Show 进行了一些调用后,我确定该错误是由从其自己的构造函数中引用自身的对象引起的。
我至少花了一天时间才发现这一点。我正在寻找任何可以帮助我以更简单的方式诊断问题的智慧。
【问题讨论】: