Thoric Posted December 10, 2013 Report Share Posted December 10, 2013 I'm working on a LV 2013 application that will run on an XP Embedded platform. Under my development environment it runs great, but when installed on the XP Embedded system it will run for a few minutes, and then pop with a very ungraceful "DAbort in ThEvent.cpp" message. I've tried to track this down to some action or event, but it appears to be relatively random. I had noticed, in older versions of the code, a memory leak, but that's been resolved since and yet the crash persists. I know XP Embedded is not officially supported, but this embedded installation is virtually a full XP installation, so there shouldn't be any concerns there (I hope). Anyone know where I can start with diagnosis of a crash like this? Google isn't helping, so I need to perform investigative effort but I really can't think where to start! Quote Link to comment
Thoric Posted December 10, 2013 Author Report Share Posted December 10, 2013 OK, so I was wrong. There's still a memory leak, but only in the built executable! In the development environment LabVIEW's memory usage remains fixed (according to Task Manager left running for many minutes), but the executable is eating about 10 kB/s. My code has a few individual components that communicate through User Events. There are events flying about pretty much all the time. The user event type is an abstract class, who's children are the actual event messages. So I have a small number of class instances being created and passed around every second. That's about the only thing happening in the code when you launch it, a handful of events being fired every second to inform the user interface of state changes etc. Anyone have a theory as to why the IDE code runs without a memory leak, but the built executable leaks like a sieve?? Quote Link to comment
shoneill Posted December 20, 2013 Report Share Posted December 20, 2013 Perhaps the lack of a UI event structure to handle the UI events? I don't really know otherwise.... I don't know how much RT and XP Embedded are similar. I only have experience with RT (And even there, I don't have much) Quote Link to comment
Thoric Posted December 20, 2013 Author Report Share Posted December 20, 2013 Thanks for replying Shoneill, XP Embedded is essentially the same as XP, so the LabVIEW code is identical. Real-Time is a wholly different kettle of fish, and there you have no static events, but you can still have user events. Anyway, the crash turned out to be a memory leak issue, which turned out to be due to my own coding error. I had a "Register for Event" node inside a while loop when it should have been before it, so consequently I was creating a new reference to the user event with each iteration of the while loop. Ooops. Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.