To mbrost -
It sounds like the COM server application in an EXE and not a DLL. If an EXE server, it is unlikely that the COM EXE server is at fault here. Because your DLL is out of process from the COM EXE server, the OS uses RPC threads to do the marshaling of data between your DLL and the server. Sometimes these RPC threads are still active even though you are no longer going to access the server.
I have seen some cases where it is best to force your DLL to stay in memory by invoking one extra LoadLibrary on itself and to also leave the worker thread around until the process shutsdown.
Questions:
1) When does it crash? Does the call to the teststep that is shutting down your DLL crash, does TestStand crash after the step runs, when the executi
on completes, when TestStand shutsdown?
2) What stack trace do you have in MSVC when the crash occurs?
3) What type of exception occurs? And what does the debugger log look like at that point?
4) What is the name of the COM-server product?
5) Does your DLL and/or COM server require hardware or externals to run? Is it something that someone else can look at if necessary?
Scott Richardson (NI)
Scott Richardson
https://testeract.com