LabVIEW Idea Exchange

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

VIM and Inline debug with temporary instances

Status: New

The "Convert Instance VI to Standard VI" right-click option on malleable VIs made me think if this technology could be used for debugging otherwise inlined VIs (and therefore also malleable VIs)?

 

VIM Convert.png

 

VIs are obviously inlined without their block diagrams, so my suggestion would require two changes:

 

1) 'Allow debugging' must be settable in combination with inlining in VI Properties >> Execution.

2) LabVIEW IDE and RTE would have to call inlined VIs in different ways, depending on this setting. Suggestion follows:

 

Running in the IDE

The IDE would now create a temporary unique instance for each running inlined subVI that has debugging enabled. This would allow us to double-click on an "inlined" subVI while it's running, and have that temporary instance open up ready for probing. Settings like the 'SubVI Node Setup' dialog would now also be available for inlined VIs, if they have 'Allow debugging' on. Set 'Allow debugging' off and inlined VIs will behave as today (so no change for any existing code).

 

Running in the RTE

Executables are built with 'Enable debugging' either on or off (Advanced page of the Application Builder). I suggest that Application Builder builds in unique instances in place of debug-enabled inlined VIs when 'Enable debugging' is on, and bakes in ordinary inlined code when 'Enable debugging' is off. This would allow us to debug into inlined (and thus also malleable) VIs inside executables with remote debugging. Loose VIs called with the RTE would have had their inlined callees compiled with either debug capability or not, depending on their 'Allow debugging' setting as discussed above in "Running in the IDE".

 

What do you think - would it be nice to be able to debug inlined VIs?

CLA, CTA, CLED & LabVIEW Champion
11 Comments
TomOrr0W
Member

This request reminds me a lot of the feature to turn debugging on in parallel for loops (which inherently makes them temporarily non-parallel).  That feature provides a way to avoid changing a bunch of settings and potentially changing what is wired to P and/or C terminals.

This would be a similar type of reduction in work for wanting to debug a specific instance of an inline vi.  I will add my kudo for the idea as written in SteenSchmidt's most recent comment.

 


@SteenSchmidt wrote:

I understand and accept fully your point Stephen, no problem.

 

To “debug” a malleable VI I could right-click on it and click ‘Convert Instance VI to Standard VI’, and then debug that instance. Afterwards I could replace the newly created instance with the original malleable VI again.

 

I merely suggest the IDE could automate those steps for me. Would that work?