04-18-2016 11:13 AM
Does anybody know about a tool that can help debug deadlocks in a LabVIEW application?
We're developing a complex multithreaded system in LabVIEW and every once in a while we encounter design bugs due to threads waiting for each other to release a reference, i.e., leave a DVR in place structure. If it's a "cyclic waiting" then we have a deadlock which can be very tricky to debug. By debugging I mean to identify the threads that are in the cycle and the locks they hold.
Thanks,
Peter
04-18-2016 01:52 PM
Possibly the Desktop Execution Trace Toolkit. I have not had a lot of time to see if it can do what you are asking for though.
04-25-2016 07:40 AM
Dear Peter,
some operating systems and programming languages contain tools or functionality for deadlock detection and prevention but LabVIEW is not one of them. As crossrulz suggested the Desktop Execution Trace Toolkit can be used to keep track of resource allocations. You can even generate your own trace events (http://zone.ni.com/reference/en-XX/help/372641C-01/lvdettmerge/generateusertraceevent/) to trace the state and operation of your application.
Regards,