0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何成为LabVIEW漏洞修复高手?掌握这些调试技巧就行!

lPCU_elecfans 来源:未知 作者:刘勇 2019-06-26 15:52 次阅读

如何成为LabVIEW漏洞修复高手?

如果你经常使用NI LabVIEW软件,当软件不能按照预期的情况运行时,你可能会有一个自己的调试技巧和技术工具箱。这些技巧和技术有些是常用的,而剩下的可能是你自己摸索出来的。

图1.巧妙的调试方法能够清除漏洞。(Brian Searle摄)

我们与JKI的LabVIEW程序架构师(Certified LabVIEW Architects, CLA)以及LabVIEW社区的朋友进行了交流,向他们学习一些快速识别、隔离和修复漏洞的“绝密”技巧。我们了解到以下几个巧妙的调试技巧。

1. 利用探针

探针是LabVIEW调试的第一个也是最简单的工具,但它们却是非常强大的工具。您可极其轻松地将探针置于线路上,在查找问题过程中不断获取信息以下是探针的几个功能:

保存连线值功能

LabVIEW开发环境中的保存连线值功能经常会被忽略。当您启用某个VI的连线值保存功能时,LabVIEW将自动存储该VI框图上每根连线的最后一个值。然后,将光标悬停在任一连线上,即使该VI未运行,探针工具也将出现提示信,显示该连线最后一个值。

图2.保存连线值按钮就在“灯泡”图标旁边。

自定义探针,无需编写任何代码

运用LabVIEW自定义探针,您无需编写任何代码就可创建强大、复杂的调试工具。例如,您可在“自定义探针”>>“控件”>> “波形图”中创建显示任意数字连线的先前值的“历史探针”。这可帮助您发现您正在探究的数据的模式或趋势,而无需编写特殊的探针代码。

图3. 使用波形图探针显示简单数字连线的历史值。

从LabVIEW工具网络获取自定义探针

借用他人创建的探针来扩展您的工具箱。SAPHIR在LabVIEW工具网络上提供了一系列免费的自定义LabVIEW探针。您只需下载安装VI软件包管理器 (VIPM)社区版(也是免费的)、搜索ViBox,再通过几次单击就可安装探针。

如果您正在使用LabVIEW 2011,您还可通过单击LabVIEW入门指南窗口的“查找LabVIEW附加工具...”从LabVIEW工具网络上获取ViBox。

图4.使用VIPM安装SAPHIR自定义探针。

2. 调用时挂起

许多LabVIEW程序架构师甚至不知道LabVIEW具备该项功能。“调用时挂起”功能可将执行挂起,使您可以进行以下任一或所有操作:

在VI运行之前随意更改VI的控件值。

VI返回调用程序时随意更改显示件的值。

重复运行VI,而无需将执行返回至调用程序。

完全跳过VI执行,返回至调用VI。

图 5. 在子VI节点设置窗口中,选择“调用时挂起”功能。

对于调用时挂起功能,NI做了简要说明,见此处。然而,熟悉该功能的最佳方法还是亲自动手实践。

3. 未连线的前面板控件和显示件

为FIRST(崇尚发扬科学技术)机器人竞赛团队推荐了一项技术,这项技术对于专业的LabVIEW开发人员也非常有用

Ben建议在VI中添加前面板控件或显示控件,但并不与连线板连接。这些控件和显示件与“调试”输入或输出工作方式类似,您可在测试时对其进行手动控制。这可使您更容易在应用中生成偶然或极端事件,而无需繁多的支持或仿真代码的写入。

您还可以在已建应用程序中使用这些调试控件和显示件,前提是LabVIEW应用程序生成器包含了VI前面板。

参阅LVMastery.com上的介绍,进一步了解Ben建议的调试子VI。

4. 执行跟踪

如果其他方法都失败的情况下,有时您所能做的只有逐步跟踪代码。遇到此类问题时,您可通过几种方法在LabVIEW内进行执行跟踪。

最明显的方法是使用LabVIEW中内置的“高亮显示执行”功能,也称为“灯泡”。如果说探针是LabVIEW调试的首要工具,灯泡则位列第二。但是,如果碰到复杂或是时间相关的漏洞,您则可选择其他更有效的工具。

图6. 执行跟踪功能比灯泡功能更多。

跟踪磁盘或内存

启动执行跟踪的一个简单方法是在其中一个子VI中记录一个连线值。您可编写一个简单的VI,将该值记录到文件中,或甚至可创建一个自定义探针来显示连线的历史值。通常通过这样一个简单的跟踪您就可收集足够的信息来帮助您找到漏洞的原因。

NI LabVIEW桌面执行跟踪工具包

如果要调试一个大型的高度并行应用程序,则包含NI开发者套件 2011的LabVIEW桌面执行跟踪工具包就是您进行LabVIEW代码分析的“利器”。它可提供关于正在运行的应用程序的各种信息,包括详细的内存分配和再分配、事件生成、由代码定义的自定义信息。Austin LabVIEW程序架构师论坛的创建人之一Fabiola De la Cueva指出该工具包可用于调试已崩溃的应用程序,因为它是独立于LabVIEW之外运行的。

5. 单元测试

测试驱动开发(TDD) 是一种软件工程技术,可帮助您从头创建更好的代码,同时它也是帮助您调试现有代码的一个有效工具。

在TDD中,当您发现应用程序存在漏洞时,调试流程的第一个步骤就是创建一个可重现漏洞并导致测试失败的单元测试。只有到那时候,您才确实可以开始尝试修复问题。如果单元测试通过,则表明您已清除了该漏洞。

这种漏洞修复方法需要费点时间,但是相比其他较不精确的方法,它具有以下几个优点:

单元测试具有可追溯性,可完整显示漏洞的发生过程以及您如何将漏洞隔离

您或其他开发者可随时轻松验证或重新验证您的修复,而无需记住激活漏洞的详细信息。

单元测试可在您的项目中与其他测试一起自动执行,因此漏洞如果再次出现,您可以立即知晓。

针对单元测试有两个主要的LabVIEW附加工具,TDD方法可以与另一个一同使用。查看JKI的免费VI测试仪LabVIEW附加工具或参阅Eli Kerry的LabVIEW软件工程指南,进一步解LabVIEW单元测试框架工具包,它已包含在NI开发者套件之内。

获取更多LabVIEW学习资料可加入VIP工程师你可能命里缺我

福利时间!LabVIEW机器视觉基础知识大礼包等你来拿,没有套路,只要加助理小姐姐(微信:18123773580)就可以免费领取哦,快点加小姐姐拿资料吧!

(扫码加助理微信领取资料)

资料包内容如下:

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • LabVIEW
    +关注

    关注

    1918

    文章

    3619

    浏览量

    316986

原文标题:如何成为LabVIEW漏洞修复高手?掌握这些调试技巧就行!

文章出处:【微信号:elecfans,微信公众号:电子发烧友网】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    适用于每个LabVIEW开发者的巧妙调试技巧

    LabVIEW程序架构师 ( Certified LabVIEW Architects, CLA ) 以及LabVIEW社区的朋友进行了交流,向他们学习一些快速识别、隔离和修复
    发表于 09-06 18:05 5136次阅读

    怎么成为硬件电路设计高手

    功能和性能的优化。成为硬件电路设计高手不仅意味着拥有稳定的职业前景,更意味着能够参与和创造未来科技的核心。 本文将介绍一条通往硬件电路设计高手之路的指南,帮助各位同学掌握必要的知识和技
    的头像 发表于 07-28 13:10 3459次阅读
    怎么<b class='flag-5'>成为</b>硬件电路设计<b class='flag-5'>高手</b>?

    如何成为一名嵌入式C语言高手?

    嵌入式C语言领域获得突出的技能和能力。 一、打下坚实的基础要成为一名嵌入式C语言高手,首先需要打下坚实的基础。掌握C语言的基本语法、数据类型、运算符、控制流程和函数等概念是必不可少的。你可以通过学习
    发表于 03-25 14:12

    如何成为一名嵌入式C语言高手?

    嵌入式C语言领域获得突出的技能和能力。 一、打下坚实的基础要成为一名嵌入式C语言高手,首先需要打下坚实的基础。掌握C语言的基本语法、数据类型、运算符、控制流程和函数等概念是必不可少的。你可以通过学习
    发表于 04-07 16:03

    适用于每个LabVIEW开发者的巧妙调试技巧

    成为LabVIEW漏洞修复高手  如果您经常使用NI LabVIEW软件,当软件不能按照预期的情
    发表于 10-27 14:32

    成为LabVIEW漏洞修复高手(初阶)

    网上的一篇关于编程漏洞的建议的中文版翻译。
    发表于 02-07 15:07

    [资料分享]+Android软件安全审计及漏洞修复经验谈

    `[资料分享]+[size=21.3333339691162px]Android软件安全审计及漏洞修复经验谈一、看威武霸气的封面作者:宋申雷 [size=21.3333339691162px]这个
    发表于 09-26 11:00

    如何针对服务器进行漏洞修复

    嗨,我们如何针对服务器进行此修复。我们使用的是Win2003标准,Win2003 R2和Win2008标准64位。是否有运行和检查漏洞中的实用工具?修补错误的固件将是灾难。最好的祝福,以上来自于谷歌
    发表于 12-03 15:36

    LabVIEW开发者必须收藏的巧妙调试技巧

    成为LabVIEW漏洞修复高手  如果您经常使用NI LabVIEW软件,当软件不能按照预期的情
    发表于 06-26 08:00

    我是如何修复Windows系统的系统漏洞

    ]对话框,单击选择[WindowsUpdate]选项。 二.使用第三方工具 步骤01下载并安装腾讯电脑管家,启动软件,在软件主界面,单击[修复漏洞]选项。 步骤03做完上面的步骤,即开始下载漏洞补丁 步骤04在系统补丁下载完成后
    发表于 12-13 10:01

    成为Android高手必须掌握的28大项内容和10个建议

    成为Android高手必须掌握的28大项内容和10个建议
    发表于 03-19 11:23 0次下载

    labview怎么调试?基于labview的USB调试教程案例分析

    labview怎么调试是我们在使用NI LabVIEW软件时候经常会碰到的问题,当软件不能按照预期的情况运行时,我们可能会需要有一个自己的调试技巧和技术工具箱。这里给大家分享一个为了查
    发表于 01-16 09:40 1.3w次阅读

    LabVIEW软件中最常用的快捷键情况

    LabVIEW是专为测试、测量和控制应用而设计的系统工程软件,可快速访问硬件和各种数据信息。如果你以后经常使用LabVIEW作为软件开发工具,如果你想成为LabVIEW的编程
    的头像 发表于 03-12 10:32 2.1w次阅读

    微软重新修复Windows 10漏洞问题

    据外媒消息,微软近日修复了导致强制重启的Windows 10漏洞,该漏洞此前阻止了PC的正常使用。
    的头像 发表于 01-11 15:09 1562次阅读

    小白到高手,就差这些“芯”知识

        原文标题:小白到高手,就差这些“芯”知识 文章出处:【微信公众号:新思科技】欢迎添加关注!文章转载请注明出处。
    的头像 发表于 03-29 21:10 268次阅读