A
acc3141
Guest
We have a complex application running on an unattended embedded system at a remote location. We also use a number of 3rd party SDKs. We are getting an intermittent "Microsoft Visual C++ Runtime Library Buffer overflow detected!" error. Our system includes hardware and software watchdog timers to automatically restart failed applications. The process in question includes a call to SetUnhandledExceptionFilter() so that on error we can record some minimal diagnostics, exit and allow an automatic restart. The (serious) problem we have is that this particular error seems to bypass the exception handler, it pops up an error dialog on the affected thread (we have no idea which one) and waits for OK while the rest of the app continues with half its brain missing. As a result the watchdog restart fails to kick in. Ultimately we want to find and fix the root cause (or work around it if its in a 3rd party library) but in the meantime we at least want the system to automatically restart. So...
Is there a way in code for me to intercept this error so that (a) I can at least record some minimal info such as the thread id and (b) abort my program so that a clean restart can happen? As mentioned I expected SetUnhandledExceptionFilter() to do this but it appears it does not in this case.
Al Chisholm
Continue reading...
Is there a way in code for me to intercept this error so that (a) I can at least record some minimal info such as the thread id and (b) abort my program so that a clean restart can happen? As mentioned I expected SetUnhandledExceptionFilter() to do this but it appears it does not in this case.
Al Chisholm
Continue reading...