当前位置:网站首页>Why does LabVIEW freeze when saving a VI
Why does LabVIEW freeze when saving a VI
2022-07-29 23:21:00 【LabVIEW development】
Why does LabVIEW freeze when saving VIs
There is a very large VI that uses over 100 subVIs. It works fine, but when I add some code and save it, LabVIEW freezes.How can I make LabVIEW save faster or exit the crash state?
Answer: LabVIEW allocates memory space and stacks for VIs when they are created.When you create a very large VI that uses many subVIs and local variables, the resources available to the VI begin to decrease.This produces save exceptions when modifying and saving VIs.However, there is always a solution.When you want to change the VI, follow these steps:
Hide the subVI from the top-level VI (the top-level VI is the VI that will be modified)
Note: One way to do this is to move the client subVIs to other folders that are not visible to LabVIEW.LabVIEW searches for these subVIs the next time you open the top-level VI.Click the 'stop' button to exit the Find SubVI.The top-level VI loads, replacing the subVIs with question marks.Only the top-level VI will be loaded into memory.
Make the desired changes in the top-level VI and save.
Move the subVI to its original location.The next time you open the top-level VI, LabVIEW will find these subVIs again and load them normally.

Edit
Add image comment, no more than 140 characters (optional)
Initial troubleshooting steps for LabVIEW internal errors and crashes:
Send crash reports to NI through the LabVIEW Crash Reporter dialog box.Add any relevant information that helps NI diagnose the crash.
Determine if the crash can be reproduced consistently.This will make the diagnosis of the fault source easier.If you can reproduce the crash, try searching the Knowledge Base and the NI Community for similar crashes.Include the hex code and what to do when the crash occurs.
Install the latest LabVIEW patches.
View the LabVIEW Known Issues list for LabVIEW versions.
Further troubleshooting steps:
Try to narrow down the warning.Reduce the amount of code and reduce the amount of hardware used to create a minimal reproduction of the crash.If you can eliminate the parts that are not related to the crash, you are more likely to find the root cause of this particular crash.See the following troubleshooting steps to help with this:
If the crash is caused by an executable file, check to see if the same behavior occurs when running the VI from the LabVIEW development environment.Doing so may point to a problem with the runtime engine.
Try using the disable construct to disable some code.This can help narrow down where in the code the crash occurs.
Try removing all hardware.If you still see crashes, you can continue troubleshooting the software.If removing the hardware solved the crash, you can narrow down the cause to the hardware.Try other types of hardware to see if the crash is specific to the type of hardware.
Check to see if the same behavior is seen on another computer.The crash may be related to the computer environment.
Monitor memory to check for memory leaks.
Use WinDbg to troubleshoot crashes.If the crash is reproducible, connect this tool to the LabVIEW process and cause the crash to reoccur.This tool can give a deeper understanding of the root cause of the crash.
If using hardware, be sure to close all memory references at the end of the program.Any misuse of references can lead to memory leaks.
Make sure all error clusters are connected and monitored.Probably didn't realize an error had occurred earlier.The error number is used to specify what went wrong, and a description of the error can be found by searching in the "Explain Error" dialog ("Help"»"Explain Error...").
If using the .NETFramework or DLL, try removing it to see if the crash still occurs.You can refer to the solution to dll crash.
If only one VI crashes, try copying the entire contents of the block diagram to the new VI.Sometimes this can remove corruption that can cause a crash.
Bulk compile VIs.If you upgraded LabVIEW from an earlier version, there may be some older VIs that have not been updated.
The crash can also be caused by an "Insane Object or fsane.cpp" error in the code.
If you are dealing with real-time system problems, see the LabVIEW Error Log or the Real-Time System Error Log.
If the executable crashes, make sure all required drivers are installed on the deployment computer.
Add a custom logging step to get more information about where the crash might occur.
Turn off the firewall and try to run the project.Some antivirus software, such as SentielOne, contain dlls that cause LabVIEW to crash.
Ensure that the maximum size of the block diagram or front panel is not exceeded.
Dynamic code analysis using the LabVIEW Desktop Execution Trace Toolkit to perform advanced debugging.
The problem may be related to corrupted software or even the operating system.If you've tried the troubleshooting steps above and it still doesn't work, you might want to consider re-imaging your computer.
LabVIEW, LabVIEW development, LabVIEW programming, LabVIEW programming
边栏推荐
- 【面试:并发篇34:Unsafe】
- Another new rule for credit cards is coming!Juphoon uses technology to boost the financial industry to improve service quality and efficiency
- 2022年最新甘肃建筑施工焊工(建筑特种作业)模拟题库及答案解析
- 8万字带你入门Rust
- 微信小程序滑动导航栏(网页浮动窗口怎么设置)
- The latest Gansu construction welder (construction special operation) simulation question bank and answer analysis in 2022
- canvas 中如何实现物体的点选(五)
- Design for failure 12 common design ideas
- cv.copyMakeBorder(imwrite opencv)
- 我们上线了一个「开发者实验室」
猜你喜欢
![[C] list explanation (headless ChanXiangFei cycle)](/img/41/14d1968296deb0135da0694fc6ccaf.png)
[C] list explanation (headless ChanXiangFei cycle)

Three chess (written in C language)

Hell Diggers Series #1

Design for failure 12 common design ideas

The first round of the real offer harvester~ How does the big factory inspect the candidates?(with detailed answer)

Access Modbus TCP and Modbus RTU protocol devices using Neuron

BGP Federal Comprehensive Experiment

Qt之在QML中使用QSortFilterProxyModel进行排序和过滤

流水线上的农民:我在工厂种蔬菜

PyCharm使用教程(详细版 - 图文结合)
随机推荐
Mysql8.0新特性之详细版本
Embedded system driver primary [1] - kernel module _ compilation method
SAP UI5 FileUploader 的隐藏 iframe 设计明细
Jsp使用<c:forEach>遍历List集合「建议收藏」
DNA偶联二维过渡金属硫化物|DNA修饰贵金属纳米颗粒|使用方法
推荐 7 个学习 Web3 的开源资源
一文参透分布式存储系统Ceph的架构设计、集群搭建(手把手)
Cloud computing 1+X openstack articles
桌面软件开发框架大赏
【leetcode】剑指 Offer II 002. 二进制加法
J9数字论:为什么我们需要Web3?
50. Leetcode 】 【 Pow (x, n) (medium) (power) quickly
【leetcode】50. Pow(x, n)(中等)(快速幂)
JVM初探- 内存分配、GC原理与垃圾收集器
单片机ds1302时钟程序(51单片机液晶显示程序)
Codeforces Round #245 (Div. 1) A (dfs)
[leetcode] The sword refers to Offer II 006. The sum of two numbers in a sorted array (binary search, double pointer)
MQTT over QUIC: The Next-Generation IoT Standard Protocol Brings New Impetus to Messaging Scenarios
Access the company intranet
WSDM‘22推荐系统论文梳理