LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Debugging of Packed Library

Solved!
Go to solution

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 

0 Kudos
Message 1 of 7
(4,966 Views)

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

0 Kudos
Message 2 of 7
(4,942 Views)

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.

0 Kudos
Message 3 of 7
(4,911 Views)

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

0 Kudos
Message 4 of 7
(4,895 Views)

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!

 

Download All
0 Kudos
Message 5 of 7
(4,872 Views)
Solution
Accepted by topic author AlexanderH

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.

Message 6 of 7
(4,822 Views)

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.

0 Kudos
Message 7 of 7
(1,756 Views)