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.