01-16-2017 08:37 AM
I have created a project that uses some additional Packed Libraries. In some situations I would like to debug those libs.
However I have compiled those libraries with "Debug Enabled" option and I am able to open the Blockdiagram but it seems that setting a breakpoint or a probe is not possible for "Shared clone reentrant execution" Vis. Debuging of "Non reentrant" VIs is possible. Is there any additional option i have to set while compiling the Packed Libraries?
Thaks in advance
Solved! Go to Solution.
01-16-2017 09:13 AM
It is not packed library problem, it is reentrant VIs feature. LabVIEW creates a copy of the subVI for every place it is used. So VI you open from project tree is not the same clone that is really called.
Options
1) If it is a subVI, open it from top vi block diagram from the place it is used.
2) Put show front panel when loaded in sub VI properties.
3) Temporarily disable reentrancy
01-17-2017 06:58 AM
Alexander, thanks to your reply.
I think it is a packed library problem.
I have compiled my PackedLibrary with the VI configured to open the Frontpanel when called. Id did not work. The Frontpanel opens and i can also open the Blockdiagram, but i can't set any Probes or Breakpoins.
I also started the same Application but replaced the Packed library with the Project Library (lvlib that is compiled to a the lvlibp). It worked fine! I was able to set Breakpoint, probes and other debug stuff was accessible to.
As I already mentioned, debuging of a non reentrant VI works. Even in an lvlibp.
Thanks for any help in advance.
01-17-2017 08:48 AM
Hi,
I think your problem is double.
Alexander answered the first one which is dubugging reentrant VIs.
I think your second issues is how to debug PPL.
Go to your build specification in "Source File Settings" and
Tick "Set save settings for all contained items"
UnTick what you need below !
Hope this helps !
BR,
Vincent
01-18-2017 04:41 AM - edited 01-18-2017 04:42 AM
Hey, I am a collegue of the thread starter.
We are using LV 2014 and still are not able to debug reentrant VIs inside packed libraries.
Of course in the build settings we have "Enable debugging" enabled, and also the front panel and the block diagram are not removed. Also the VIs have "Enable debugging" checked.
For testing we compiled the VIs with the option "open frontpanel when called".
In the attached screenshot you can see:
- A reentrant VI's clone (Commander.vi) from the lvlibp is running. It has debugging enabled.
- the clone instance is opened and running, block diagram is visible, but debugging is not possible
- the clone instance is calling two VIs, one of them is reentrant the other one is not.
- the reentrant Sub-VI instance also can't be debugged
- the non-reentrant Sub_VI can be debugged
What's the reason for that? Reentrancy? Dynamic Dispatch inputs/outputs of the Commander.vi? But treentrant Sub-VI does not have dynamic dispatch inputs.
Thanks for any hints!
01-30-2017 12:30 AM
Hey. After contacting the NI support we found the reason:
It's a bug in LV 2014. Debugging of reentrant VIs in packed libraries does not work.
It's fixed in LV 2015.
11-10-2022 08:19 PM
I know this is very old, but did you ever confirm that debugging reentrant vi's in packed libraries worked in LV2015+?
I have LV2022 and still am unable to debug reentrant VI's in a packed library. I just wanted to see if anyone had definitively gotten this working.
We have check all the same "enable debug", include block diagrams options, etc. But the block diagram is still seemingly impossible to access with reentrant VI's in packed libraries.