33.断点和探针
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
断点和探针
1. 断点
断点和探针是调试LabVIEW 代码时最常用的两个工具。
LabVIEW 中的断
点在使用和功能上都比较简单、直观:使用工具选板上的断点工具,在想要设置或者取消断点的代码处点击鼠标即可;或直接在程序框图的节点、数据线上右击鼠标,就可以看到设置或取消断点的菜单项。
断点几乎可以设置在程序的任何部分。
当程序运行至断点处,就会暂停,等待调试人员的下一步操作。
很多其他语言的调试环境都有条件断点,LabVIEW 的端点没有类似的设置,LabVIEW 是使用条件探针来实现条件断点功能的。
断点是会保存在VI 中的。
关闭带有断点的VI,程序执行至断点处还是会停下来,并且这个VI 会被自动打开。
如果某个VI 不允许你设置断点,很可能这个VI 被设为不允许调试了。
此时,只要在VI 属性中重新设置一下即可。
(LabVIEW 的调试环境.2)
2. 探针
探针的功能类似于其他语言调试环境中的查看窗口,用于显示变量当前状态下的数据。
LabVIEW 与其他语言不同之处在于,LabVIEW 是数据流驱动型的图形化编程语言。
LabVIEW 中的数据传递主要不是使用变量,而是通过节点之间的连线完成的。
所以LabVIEW 的探针也不是针对变量的,而是加在某根数据线上的。
LabVIEW 的探针也是图形化显示的。
比如为一根数字类型的数据线加探针,探针一般就是一个数字型显示控件,见图1。
Error Cluster 类型的数据线的探针,则看上去就像是个Error Cluster,见图2。
图1、图2:数值型和错误信息型数据线的探针
3. 选取其他类型控件作为探针
如果你觉得LabVIEW 默认的探针不美观或不适用,则可以在数据线上点击鼠标右键,选择Custom Probe -> Controls -> ... 选取一个其他控件作为探针,如图3。
但是要注意,你选取的控件的数据类型要与数据线的数据类型一致才可以。
图3:使用仪表盘控件作为数值型数据线的探针
4. 条件探针
在你设置断点后,程序在每次执行到断点的时候都会停下来。
但有的时候,调试者希望程序只在被监测的数据满足某一条件时,才暂停运行。
比如,被监测的数据在正常情况下应大于零,调试者希望一旦数据小于零则暂停。
在LabVIEW 中,可以使用条件探针来实现这样的功能。
图4:数值型条件探针
以图4 为例,如果你希望程序中的循环在运行8 次以后才停下来,就可以使用条件探针。
在记录循环次数的i 的输出数据线上点击鼠标右键,选择Custom Probe 下以Conditional 开头的探针,打开探针上的Condition 页,就可以设置条件了。
此时,若被探测的数据满足你所设置的条件,程序就会暂停。
5. 用户自定义探针
如果你觉得LabVIEW 自带的探针功能还不够强大,或者你自己创建了一种数据类型,而LabVIEW 没有适合它的探针,这时你可以自己创造一个满意的探针出来。
用户自定义的探针其实也是一个VI。
LabVIEW 自带了一些已经做好的探针,这些探针都被放置在<lvdir>\vi.lib\_probes 文件夹下。
你可以打开这里面的VI 看一看已有的自定义探针是如何做的。
比如我们在图4 中所使用的I32 型条件探针的VI 是ConditionalSigned32.vi。
需要新建一个自定义探针时,先在数据线上点击鼠标右键,选择Custom Probe -> New。
这时LabVIEW 会弹出一个向导界面。
按照向导的提示,输入所需信息,LabVIEW 会为你生成一个用作探针的VI 框架,对这个VI 稍作修改,即可成为一个新的探针。
这个探针VI 有一个输入和一个输出。
输入的是被探测的数据,输出是一个布尔类型,表示程序是否需要暂停。
这个VI 的界面也就是探针的外观。
探针所实现的功能完全依赖于如何对其编程。