LabVIEW在调用image.cpp或drawmgr.cpp因为DAbort而崩溃

简介: LabVIEW在调用image.cpp或drawmgr.cpp因为DAbort而崩溃

LabVIEW在调用image.cpp或drawmgr.cpp因为DAbort而崩溃


出现下列问题,如何解决?


1.       LabVIEW 程序因image.cpp或drawmgr.cpp中的错误而崩溃


2.       正在通过cRIO-9034运行独立的LabVIEW应用程序,但它因drawmgr.cpp中的错误而崩溃


3.       在 Windows 任务管理器中注意到LabVIEW使用的GDI对象数量接近10,000


4.       错误发生的时间不一致


5.       这些可能发生在VI编辑模式下、运行时和LabVIEW启动期间


方案


尝试减少前面板对象的数量。


这将有助于减少LabVIEW使用的GDI对象的总量。


如果在运行VI时GDI对象随着时间的推移而增加,请检查VI中的递归元素,这些元素可能会在前面板上重复渲染对象。为此,可以在Windows任务管理器中跟踪GDI对象的使用情况(请参阅下面的附加信息)。


更改 GDI 对象句柄的限制。MSDN:GDI Objects (Windows) 中描述了一种在 Windows(2000 年后)中增加GDI对象数量的方法。


安装显卡厂商提供的最新显卡驱动程序。这通常会修复导致 GDI 溢出的内存泄漏。


更改选板加载设置。


1.       在任何LabVIEW窗口中,在顶部菜单栏导航至工具»选项...


2.       这将会打开选项窗口。导航到控件/函数选板。


3.       在顶部有加载选项,选择在需要时加载选板以尝试减轻崩溃。


0be2f0523a9b0ec2bdc6b0ed242afa91.png


在<LabVIEW>\user.lib目录中删除不必要的库。LabVIEW会为每个选板图像使用一个 GDI 对象,因此具有大量选板 的VI 将导致此崩溃。


如果在 VI 中不断打开和关闭数据库,请通过收集更多要发送的数据来避免频繁打开/关闭数据库。


重新启动cRIO(或其他使用的硬件)可能会是一个临时的解决方案,但请按照上述详细步骤操作以防止问题再次出现。


如果在调查上述选项后问题仍然存在,请致电 NI 支持寻求进一步地解决问题。


相关信息


GDI(图形设备接口)对象是负责表示图形对象的固定Windows资源。每个GDI对象都是、进程私有的,这意味着只有创建GDI对象的进程才能使用其对象句柄。


包括LabVIEW.exe在内的每个进程都被Windows限制为10,000个GDI对象,并且请求更多GDI对象会导致 LabVIEW 崩溃。此崩溃被NI错误报告工具 (NIER)捕获为image.cpp或drawmgr.cpp中的DAbort。要确认导致崩溃的原因是否是过度使用GDI,请使用Windows任务管理器查看LabVIEW使用了GDI的数量。对于Windows10,默认情况下不显GDI数量。需要转到任务管理器中的详细信息--> 右键单击“名称”列»“选择列”。


b4cba644ab75ce05e240552ad92009b9.png


这是LabVIEW的一个功能介绍,更多的使用方法与开发案例,欢迎登录官网,了解更多信息。有需要LabVIEW项目合作开发,请与我们联系。

相关文章
关于 QtCreator中写Qt程序遇到printf不输出问题 的解决方法
关于 QtCreator中写Qt程序遇到printf不输出问题 的解决方法
|
3月前
|
计算机视觉 索引
OpenCV读取视频失败<无可用信息,未为 opencv_world453.dll 加载任何符号> cv::VideoCapture
本文介绍了解决OpenCV读取视频失败的错误,指出问题通常由视频路径错误或摄像头索引错误导致,并提供了相应的解决方法。
OpenCV读取视频失败<无可用信息,未为 opencv_world453.dll 加载任何符号> cv::VideoCapture
|
5月前
Qt6.5打包(QT windeployqt不是内部或外部命令、QT错误:缺少libgcc_s_seh-1.dll ,无法正常启动(0xc000007b) 问题解决方法)
Qt6.5打包(QT windeployqt不是内部或外部命令、QT错误:缺少libgcc_s_seh-1.dll ,无法正常启动(0xc000007b) 问题解决方法)
659 1
|
C++
Clion配置单个project下可以运行多个CPP文件的main函数
Clion配置单个project下可以运行多个CPP文件的main函数
1327 0
|
C++ iOS开发
iOS开发 -- 在Xcode中引入cpp文件,并调用cpp文件中的方法
iOS开发 -- 在Xcode中引入cpp文件,并调用cpp文件中的方法
874 0
iOS开发 -- 在Xcode中引入cpp文件,并调用cpp文件中的方法
|
并行计算 异构计算
错误:customWinogradConvActLayer.cpp
错误:customWinogradConvActLayer.cpp
76 0
|
C++
C++Qt | 无法打开源文件:“x64\Debug\moc_xxx.cpp”怎么办。
编译时报错: 1>c1xx : fatal error C1083: 无法打开源文件:“x64\Debug\Res\src\Vlc\include\moc_AVPlayer.cpp”: No such file or directory的解决办法。
488 0
|
编译器 计算机视觉
关于 Qt编译时使用msvc编译器报错“Error: cannot open ...main.obj.10836.32.jom for write” 的解决方法
关于 Qt编译时使用msvc编译器报错“Error: cannot open ...main.obj.10836.32.jom for write” 的解决方法
关于 Qt编译时使用msvc编译器报错“Error: cannot open ...main.obj.10836.32.jom for write” 的解决方法
【QT】解决VS开发QT程序,切换至release版本提示找不到相关头文件。
【QT】解决VS开发QT程序,切换至release版本提示找不到相关头文件。
【QT】解决VS开发QT程序,切换至release版本提示找不到相关头文件。
|
计算机视觉
Qt实用技巧:win将ffmpeg、opengl、osg等各种库封装成qt模块,运行需要dll,增加自动拷贝运行库到exe目录执行脚本
Qt实用技巧:win将ffmpeg、opengl、osg等各种库封装成qt模块,运行需要dll,增加自动拷贝运行库到exe目录执行脚本