我已经开发了一个软件,使用国家仪器LabWindows/CVI,并将.exe安装在Windows732位PC机上,内存为4GB。当我运行我的软件时,有时我会得到以下错误。
程序导致程序停止正常工作。如果有解决方案,Windows将关闭程序并通知您
这是非常随机的,有时这个错误永远不会出现。
有谁能帮我理解这个问题吗?我已经检查了我的软件代码很多次,我相信我没有做任何错误的软件,导致这个错误出现。
这与windows有关吗?我如何解决这个问题?帮助是非常感谢的。
谢谢苏吉思·拉詹
发布于 2014-09-18 14:04:24
我曾多次遇到类似的问题。
这种情况甚至可能发生在一些简单的程序中,比如控制台应用程序,用于从用户那里获取输入,并在处理后在屏幕上显示一些数据。
通常,这表示您的计算机无法为该程序提供足够的资源,或者您的代码中存在错误。
由于下列原因,它可能是随机的:
发布于 2016-10-31 14:43:33
有youtube视频告诉你去设置数据执行保护来解决。这是一条红鲱鱼。这也可能是有害的,特别是当你运行旧的dos应用程序时(因为你出于某种原因不得不这么做)。
如果程序抛出任何类型的未处理异常,您将得到此错误消息。
如果你用这段代码启动它..。
Dim psi As New ProcessStartInfo(pathToTarget)
Dim p As Process = Process.Start(psi)
Dim bIfinished As Boolean = p.WaitForExit(itimeout)
If bIfinished = False Then
p.Kill()
End If
iretVal = p.ExitCodepathToTarget是目标exe/bat (目标)文件的完整路径
超时值是表示毫秒的整数。2分钟是2*60*1000
如果程序自行结束,则完成的将为真。注意-这不是返回代码。如果它未能在(本例中为2分钟)内完成,bFinished将为false。
可以检查p.ExitCode以查看目标返回了什么。通常,0是成功的,其他的都是错误代码。
这是OP提到的消息框(autoAging恰好是我用来演示这一点的exe )。它还说,“XYZ已经停止工作”。谷歌需要知道这一点!

请注意,代码将继续运行在您的应用程序,以便您可以做清理,如果您愿意。点击或不点击“关闭程序”对主机没有影响,我已经能够告诉你。
如果您拥有目标的代码,请确保处理所有错误并返回适当的代码。这样,您的调用应用程序(主机)可以知道如何反应。您还可以避免使用这个msgbox。
如果你没有目标的代码,你只需要尽你所能。如果有一些输出,您可以随时检查,这样做。否则,我会假设失败,然后继续这个假设。
此消息框确实使用资源。虽然这不是一个大的问题,但足够的,他们会运行你的盒子内存不足。
https://stackoverflow.com/questions/25913969
复制相似问题