Stopping application exception popup windows

Hi all,

I have an annoying issue which I am trying to resolve.
I am part of development team who have developed a framework for our developers to use which allows easy access to a grid computing platform.

The issue is as part of the framework it calls out to a development team supplied DLL, which sometimes issues an unhandeled exception generating a popup windows application error message box

"The instructions at xxx referenced memory at yyy. The memory can not be read, click ok to terminate the program"

This in itself is not the problem I have the development team identifying where the issue is and are fixing it. The problem I have is that when this type of issue occurs there is an impact o the framework.

Here are the details of what the framework does.

It is all written in C++ using visual studio 8 and using BOOST for the socket and thread handling, running on "lights out" MS Server 2003 boxes.

The main daemon listens on a TCP port for an incoming request
When a conversation starts the Main daemon starts a thread and passes the conversation to it, and goes back to listening
The child thread receives the request, and based on data within the request loads a DLL which contains the functionality needed for the request type
Once the DLL is loaded the child thread calls a given function inside the DLL
If the called DLL fails with an application error generating a popup the thread never ends until the message box is closed, and given the "lights out" nature of the server is anoying to say the least.

Because of the design this does not cause an issue to the main service which will spawn other threads but of course I have the issue of having the failed threads staying resident and the client not getting a response until the popup is closed

Simple question is….

How can I stop the popups?
With the exception of the obvious of not having any errors in the called DLL (For which I don’t have control).
I can offer guidelines to the developers on how their projects should be compiled, I have control of the server and can also go some way in dictating development standards so any options around compile flags or registry settings are options which could be in scope.
OnyxBlackstoneAsked:
Who is Participating?
 
OnyxBlackstoneConnect With a Mentor Author Commented:
Hi Dan,

The try/catch was there and trapped correctly once the popup was answered.

We have now found the solutions and its and easy one.

We needed to re-compile with the following flag

               /EHa
 
0
 
DanRollinsCommented:
I have to be the first to point out the obvious...

I had a similar situation with a U/I-less app.  All I did was wrap a
    try/catch(...)
exception handler around everything the DLL does.   It will only be called in the situations where the error is otherwise "unhandled" so it can take action appropriate for this unexpected situation (in my case, I performed a full "internal" shutdown and restart).  It should log the problem, of course -- providing as much info as possible for a post-mortem analysis.
0
 
DanRollinsCommented:
That relates to the compiler using the now-default synchronous exception-handling model for the compiled output code.

   /EH (Exception Handling Model)
   http://msdn2.microsoft.com/en-us/library/1deeycx5(VS.80).aspx
and
   Exception Handling: Default Synchronous Exception Model
   http://msdn2.microsoft.com/en-us/library/7f10tsf4(VS.80).aspx

That is useful information to have in the EE database.  I suggest that you post to Community Support that you have answered this yourself.  That will keep this thread in the database.   See: http://www.experts-exchange.com/help.jsp#hi70

0
 
Vee_ModCommented:
Closed, 500 points refunded.
Vee_Mod
Community Support Moderator
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.