I can't get past crInstall without some string related error (Access violation crashes).

53 views
Skip to first unread message

Daniel Crosby

unread,
Jun 2, 2016, 9:21:17 AM6/2/16
to Crashrpt
I'm trying to install crash reported in my 64-bit UNICODE DLL (is DLLMain the place to do this?), using the 64-bit UNICODE version of CR 1403.

First I tried without setting CR_INSTALL_INFO.pszErrorReportSaveDir. This crashes here:

if(lpcszErrorReportSaveDir==NULL)
{
    // Create %LOCAL_APPDATA%\CrashRpt\UnsentCrashReports\AppName_AppVer folder.
    CString sLocalAppDataFolder;
    DWORD dwCSIDL = CSIDL_LOCAL_APPDATA;
    Utility::GetSpecialFolder(dwCSIDLsLocalAppDataFolder);
    m_sUnsentCrashReportsFolder.Format(_T("%s\\CrashRpt\\UnsentCrashReports\\%s_%s"), 
        sLocalAppDataFolderm_sAppNamem_sAppVersion);
}
else
{
...
}

When you try to step past the else and you hit the ~CString() (for sLocalAppDataFolder).

So then I tried setting CR_INSTALL_INFO.pszErrorReportSaveDir. This crashes in a different string-related area,
again in a destructor:

~strconv_t()
{
    unsigned i;
    for(i=0; i<m_ConvertedStrings.size(); i++)
    {
        delete [] m_ConvertedStrings[i];
    }
}

It hits this destructor when trying to return from Utility::GenerateGUID(CStringsGUID); (why does strconv store the string buffers anyway?)

Something definitely seems up with the string handling.

Any idea what?

Daniel Crosby

unread,
Jun 6, 2016, 7:45:28 PM6/6/16
to Crashrpt
It helps if you don't use the Release build of the Crash Reported with the Debug build of your DLL! D'oh!
Reply all
Reply to author
Forward
0 new messages