LabVIEW Idea Exchange

cancel
Showing results for 
Search instead for 
Did you mean: 
AristosQueue (NI)

Putting a probe on the real reentrant VI should put a probe on the clones

Status: New

This idea came from customer Jason Willis during an NIWeek 2012 brainstorm session with LV developers. To me, it seemed like a good idea, so I figured I would post it to the community to flesh it out and see what kudos it gets.

 

When you have a reentrant VI, you have the one real VI and many clone VIs. Debugging the clones is hard. One way to make it easier might be to make the probes behave like the breakpoints do.

 

When you put a breakpoint on an individual clone, only that clone gets the breakpoint. But if you put a breakpoint on the real VI, all the clones get that breakpoint. That gives you a way to stop at a point of execution regardless of which clone gets pulled from the clone pool.

 

We could make probes do the same: if you put a probe on a real VI, any time the block diagram of a clone gets opened, a probe would be added to its wires in the same locations as on the real VI. If you removed the probe from the real VI, all the duplicate probes on the clones would go away too. But if you added a probe to a clone, the other clones would not get a probe.

21 Comments
wiebe@CARYA
Knight of NI

>Yes there is, give LabVIEW Task Manager (LVTM) a try (sorry for the shameless plug).  It is an open source, community provided, free tool.

 

As long as we're plugging, here's some feedback.

 

Last time I checked that tool (1-2 years ago), the clone hash\crc was calculated for every potential clone number. That made the search tremendously slow. If the source name doesn't change, the hash\crc won't change. It made the search ~1000 times faster. Some other minor optimizations where possible, but probably insignificant.

 

I probably should have pinged that back to the community, it being open source and all, but at the time I just needed the algorithm.