A windows application I am working on contains the following code:
if (_camStar->GetSortedContainersFromOpsView("CAD", false, containers, errorMessage)) {
error = "";
if (!containers.empty())
{
desc = QString::fromStdString(containers[0]->masterProductDescription);
prodname = QString::fromStdString(containers[0]->productName).trimmed();
res = QString::fromStdString(containers[0]->ctnrName);
}
}
else
{
error = QString::fromStdString(errorMessage);
}
_camStar
is a variable from an external header file to which I am initializing here via:
_camStar = new CamstarInterface(host, port, username, password, workstation);
CamstarInterface is an interface that's declared in that same header file. When I run the program in Debug mode, I am presented with:
Unhandled Exception at 0xx5c84337d (msvcp100d.dll) in initializer.exe: 0xC0000005: Access violation reading location 0xffffffffffffffff.
and it breaks in xutility (I believe its used by Qt) in the function Orphan_all()
. When I run the program in Release mode, everything works fine.
How would I go about digging into the exception to see what exactly it doesn't like?
EDIT: The xutility file is shown when I have a try/catch surrounding the code above and is opened when I return the QString res variable. Otherwise I see the following unhandled exception on the GetSortedContainersFromOpsView
line:
Unhandled Exception at 0x000007fefce7a06d in initializer.exe: 0xC0000005: Access violation writing location 0x00000000004ffff8.
No other file is opened. The stack trace looks like so:
initializer!initializer::GetNextImplant(QString& error) Line 347 + 0x5e bytes
initializer!initializer::Process() Line 298 + 0x17 bytes
initializer!initializer::Start() Line 169
initializer!main(int argc, char**argv) Line 18
initializer!WinMain() line 131 + 0x16 bytes
initializer!__tmainCRTStartup() line 547 + 0x42 bytes
initializer!WinMainCRTStartup() Line 371
At line 347 is the GetSortedContainersFromOpsView
call. What should I do? It doesn't really seem to give me much.