LabVIEW Idea Exchange

cancel
Showing results for 
Search instead for 
Did you mean: 
Sumedha

Probe property node

Status: New

A lot of times while debugging I want to know what the value of a certain property is at different points in VI execution. The more complicated the code the harder it is to keep track of changes to the value of any property.

It will be cool if we could probe over any property node. Simple eg. would be probing over the "Value" property of the indicator below to know how it is being updated at different times in execution.

eg.1.png

or really any other property, that even if is not being written to explicitly in the code anywhere, one wants to keep a track of....like eg.2.png

 

 

Sumedha Ganjoo | LabVIEW R&D
8 Comments
JÞB
Knight of NI

We allreay have this to a limited extent. VISA and Error conditional probes come to mind immediatly.  Object probes might have some interesting uses.  Especially with class wires!  Thought prevolking but Kudos withheld until I see a use case I would commonly use instead of a temporary read property node.


"Should be" isn't "Is" -Jay
Sumedha
NI Employee (retired)

I was thinking how some IDE for programming languages have "watches" for variables, you can watch/probe an object here similarly to know how it is changing in different states of execution in an application,

esp. one that has modular code. You can run through modules (VIs) to black box test that the values of certain intermediate variables are as expected. I haven't thought this through but it might be useful to probe local/shared variables as well.

 

Thinking on a smaller scale I think it will come handy to probe objects in VIs that have cases, event structures and parallel loops - to monitor how certain objects or certain properties of VI / Build Spec/ the project itself change over execution.

 

I am not much familiar with the probes you mentioned but wire probes are typically helpful to probe over that instance and we will need multiple wire probes to see how a value changes over the execution of a VI. I will try to think of and post a more definite use case instead of just rambling vague ideas 🙂

Sumedha Ganjoo | LabVIEW R&D
GregR
Active Participant

I'm not sure about VISA but this isn't really like the error conditional probe. Probes (even smart probes) can show the last value that flowed down a wire. This sounds different because instead of being associated with a specific wire, it would monitor a specific property on some reference based class. It would update to show the current value whenever it changed rather than waiting for some specific wire to propagate. I might call this more of a "Property Monitor" rather than using the term probe to emphasize this difference. Sounds interesting. It would take a bit of work to do in a way that would work for all reference types, but a more limited implementation could be easier.

David_L
Active Participant

I think Greg's description of a "Property Monitor" exactly sums up this idea.  Have the ability to always watch a certain property (or value, obviously) of an item (control, indicator, VI, application, whatever) at any time without having to probe every instance that it's being written to.  

 

Kudos Sumedha!

Sumedha
NI Employee (retired)

Thanks David! ...I agree. Calling it "Property Monitor" sounds much more appropriate than a probe for the property node. The functionality and the features in the property monitor window that way don't have to be tied to or similar to the current probe window.

Sumedha Ganjoo | LabVIEW R&D
fabric
Active Participant
Interesting idea. A useful addition would be to list the location (at least the VI name) and timestamp of the latest "value change" for each property being monitored.
JÞB
Knight of NI

Thanks for clearing up the concept.  OK that would be useful.


"Should be" isn't "Is" -Jay
Sumedha
NI Employee (retired)

Hi fabric..That would be a valuable addition I think and help much in debugging.

 

Adding a conditional pause on "value change" might be useful too.

 

These additions though I think should be dependent on the overhead they add to the execution time and also the effort required for implementation.

Sumedha Ganjoo | LabVIEW R&D