04-28-2023 04:32 AM
Hallo community,
I'm working with a project, and I want to create a dump file, when LabVIEW crashes. I've attached hier my Dumper.vi, which is a simple subVI to collect names&values of all controls from my main.vi.
It works fine to call this subVI with a timer function, and it saves the names&values of all controls as I wanted. But I'm wondering, if it is possible to execute this subVI, at the moment my compiled main.exe crashed, hanged, stopped sending/receiving?
Regards
04-28-2023 08:42 AM - edited 04-28-2023 08:46 AM
@Mystogan wrote:
But I'm wondering, if it is possible to execute this subVI, at the moment my compiled main.exe crashed, hanged, stopped sending/receiving?
If LabVIEW (or your exe's run time engine) crashes, it won't run anything anymore.
So, no on that.
If your loop hangs or stopped sending/receiving, you can simply call the subVI. There are many ways to do this, but they all involve a parallel running VI. I'd make a queue and pass it to the detector and the loop. The loop enqueues items, the detector dequeues. If it times out, the loop stopped enqueueing and might hang.
You can make 2 executables, and have one monitor the other. But all crash info needs to be send continuously.
Or store things in a database, using a single transaction. If there's a crash, the last successful transaction will persist.
Or use a rotating file. If there's a crash, the file is corrupt, use the other file. If not save in the alternate file.
05-04-2023 07:54 AM
Hi, thanks for your suggestions. Do you have any examples for this 2 executables?
After some research, I`ve found this NIER, https://www.ni.com/de-de/support/documentation/supplemental/18/ni-error-reporting--nier--faq.html
Do you think I could use this NIER? Somehow I couldnt find info how to start this NIER? Somehow this NIER seems not too popular.
regards,