如何排查LabVIEW崩溃故障

更新 Jun 29, 2020

适用于

软件

  • LabVIEW

问题详述

在LabVIEW开发环境中浏览时,LabVIEW崩溃并显示以下错误:

LabVIEW 20xx遇到问题,需要关闭。您可以通过将报告直接发送给National Instruments来帮助我们诊断和解决此问题。
 

解决方案

LabVIEW内部错误和崩溃的初步故障排除步骤:

  1. 通过LabVIEW Crash Reporter对话框将崩溃报告发送给NI。添加任何有助于NI诊断崩溃的相关信息。
  2. 确定是否可以一致地重现崩溃。这将使故障源的诊断更加容易。如果可以重现崩溃,请尝试在知识库NI社区中搜索类似的崩溃。包括十六进制代码以及崩溃发生时的操作。
  3. 安装最新的LabVIEW补丁
  4. 查看您的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错误,则可以通过联系National Instruments技术支持来提出纠正措施请求(CAR)。附上演示崩溃的示例VI以及通过上述步骤获得的所有补充文件。这将帮助我们的技术支持工程师复制并最好地理解问题。

该问题可能与软件甚至操作系统的损坏有关。如果您尝试了上述故障排除步骤,但仍无法解决,则可能需要考虑重新映像计算机。

相关信息

LabVIEW内部错误是什么?

LabVIEW内部错误表示LabVIEW内部发生了错误或意外。根据严重程度,退出或重启LabVIEW时,您可能会立即或稍后收到错误对话框。三种严重性级别是DAbortDWarnDWarnInternal
  • DAbort不可恢复,LabVIEW将立即退出。这样可以避免进一步的损坏,并且您将看到与上面的类似的“ LabVIEW崩溃报告”对话框。
  • DWarnDWarnInternal是可恢复的错误,不会导致LabVIEW退出,但是它们仍然是意外的,需要报告。从LabVIEW退出时,可能会看到一个内部警告报告对话框,具体取决于您的LabVIEW设置。