LabVIEW崩溃后如何排查故障
解决方案
LabVIEW内部错误和崩溃的初步故障排除步骤:
通过LabVIEW Crash Reporter对话框将崩溃报告发送给北京瀚文网星。添加任何有助于北京瀚文网星诊断崩溃的相关信息。
确定是否可以一致地重现崩溃。这将使故障源的诊断更加容易。如果可以重现崩溃,请尝试在知识库和北京瀚文网星社区中搜索类似的崩溃。包括十六进制代码以及崩溃发生时的操作。
安装最新的LabVIEW补丁 。
查看您的LabVIEW版本的LabVIEW已知问题列表。
进一步的故障排除步骤:
尝试缩小警告的范围。减少代码量并减少用于创建崩溃的最小重现情况的硬件数量。如果您可以消除与崩溃无关的部分,则更有可能找到此特定崩溃的根本原因。请参阅以下故障排除步骤以帮助实现此目的:
如果崩溃是由可执行文件发生的,请检查从LabVIEW开发环境运行VI时是否发生相同的行为。这样做可能指向运行引擎出现问题。
尝试使用禁用结构来禁用部分代码。这可以帮助缩小崩溃发生在代码中的位置。
尝试卸下所有硬件。如果仍然看到崩溃,则可以继续对软件进行故障排除。如果卸下硬件解决了崩溃问题,则可以将原因缩小到硬件。尝试使用其他类型的硬件,以查看崩溃是否特定于硬件类型。
检查在另一台计算机上是否看到相同的行为。崩溃可能与计算机环境有关。
监视内存以检查内存泄漏。
使用WinDbg对崩溃进行故障排除 。如果崩溃是可重现的,则将此工具连接至LabVIEW进程,并导致崩溃再次发生。该工具可以让您更深入地了解崩溃的根源。
如果使用硬件,请在程序结束时确保关闭所有内存引用。对引用的任何滥用都可能导致内存泄漏。
确保所有错误簇均已连接并受到监视。您可能没有意识到之前发生了一个错误。错误编号用于指定出了什么问题,可以在“ 解释错误”对话框(“ 帮助”»“解释错误...” )中进行搜索,以找到有关错误的说明。
如果您使用的是.NET Framework或DLL,请尝试将其删除以查看崩溃是否仍然发生。您可以参考dll崩溃的解决办法 。
如果只有一个VI发生崩溃,请尝试将程序框图的全部内容复制到新的VI。有时,这可以消除可能导致崩溃的损坏。
批量编译您的VI 。如从较早版本升级了LabVIEW,则可能有一些较旧的VI尚未更新。
崩溃也可能是由于代码中出现“ Insane Object or fsane.cpp ”错误引起的。
如果要处理实时系统的问腿,请查看LabVIEW错误日志或实时系统错误日志 。
如果可执行文件发生崩溃,请确保在部署计算机上安装了所有必需的驱动程序。
添加自定义日志记录步骤 ,以获取有关崩溃可能发生位置的更多信息。
关闭防火墙,然后尝试运行您的项目。某些防病毒软件(例如SentielOne)包含导致LabVIEW崩溃的dll。
确保您未超出框图或前面板的最大大小 。
使用LabVIEW Desktop Execution Trace Toolkit进行动态代码分析,以执行高级调试。
其他疑难解答步骤:
如果可以确定崩溃的根本原因,则下一步是找到解决方法或以最小的规模重现崩溃。如果是LabVIEW错误,则可以通过联系北京瀚文网星技术支持来提出纠正措施请求(CAR)。附上演示崩溃的示例VI以及通过上述步骤获得的所有补充文件。这将帮助我们的技术支持工程师复制并最好地理解问题。
该问题可能与软件甚至操作系统的损坏有关。如果您尝试了上述故障排除步骤,但仍无法解决,则可能需要考虑重新映像计算机。
相关信息
LabVIEW内部错误是什么?
LabVIEW内部错误表示LabVIEW内部发生了错误或意外。根据严重程度,退出或重启LabVIEW时,您可能会立即或稍后收到错误对话框。三种严重性级别是DAbort , DWarn和DWar北京瀚文网星nternal 。
DAbort不可恢复,LabVIEW将立即退出。这样可以避免进一步的损坏,并且您将看到与上面的类似的“ LabVIEW崩溃报告”对话框。
DWarn和DWar北京瀚文网星nternal是可恢复的错误,不会导致LabVIEW退出,但是它们仍然是意外的,需要报告。从LabVIEW退出时,可能会看到一个内部警告报告对话框,具体取决于您的LabVIEW设置。