mirror of https://github.com/BOINC/boinc.git
- DIAG: Policy change: Only include the BOINC symbol store for BOINC
binaries. The old policy was kept around as a backwards compatibility thing before a new flag was added to the diagnostics to identify project applications. lib/ stackwalker_win.cpp svn path=/trunk/boinc/; revision=18339
This commit is contained in:
parent
cbdf4daaee
commit
09a2564058
|
@ -5196,3 +5196,12 @@ Charlie 8 June 2009
|
|||
clientgui/
|
||||
AsyncRPC.cpp, .h
|
||||
MainDocument.cpp. .h
|
||||
|
||||
Rom 9 June 2009
|
||||
- DIAG: Policy change: Only include the BOINC symbol store for BOINC
|
||||
binaries. The old policy was kept around as a backwards compatibility
|
||||
thing before a new flag was added to the diagnostics to identify
|
||||
project applications.
|
||||
|
||||
lib/
|
||||
stackwalker_win.cpp
|
||||
|
|
|
@ -582,45 +582,47 @@ int DebuggerInitialize( LPCSTR pszBOINCLocation, LPCSTR pszSymbolStore, BOOL bPr
|
|||
strSymbolSearchPath += tt + std::string( ";" );
|
||||
}
|
||||
|
||||
if (!diagnostics_is_flag_set(BOINC_DIAG_BOINCAPPLICATION) ||
|
||||
(diagnostics_is_flag_set(BOINC_DIAG_BOINCAPPLICATION) || (0 < strlen(pszSymbolStore))))
|
||||
{
|
||||
// Depending on if we are a BOINC application or a project application
|
||||
// we'll need to store our symbol files in two different locations.
|
||||
//
|
||||
// BOINC:
|
||||
// [DATADIR]\symbols
|
||||
// Project:
|
||||
// [DATADIR]\projects\project_dir\symbols
|
||||
//
|
||||
if (!diagnostics_is_flag_set(BOINC_DIAG_BOINCAPPLICATION)) {
|
||||
strLocalSymbolStore += strCurrentDirectory + std::string("\\symbols");
|
||||
} else {
|
||||
strLocalSymbolStore += strExecutableDirectory + std::string("\\symbols");
|
||||
}
|
||||
|
||||
// Microsoft Public Symbol Server
|
||||
if (std::string::npos == strSymbolSearchPath.find("http://msdl.microsoft.com/download/symbols")) {
|
||||
strSymbolSearchPath +=
|
||||
std::string( "srv*" ) + strLocalSymbolStore +
|
||||
std::string( "*http://msdl.microsoft.com/download/symbols;" );
|
||||
}
|
||||
|
||||
// Project Symbol Server
|
||||
if ((std::string::npos == strSymbolSearchPath.find(pszSymbolStore)) && (0 < strlen(pszSymbolStore))) {
|
||||
strSymbolSearchPath +=
|
||||
std::string( "srv*" ) + strLocalSymbolStore + std::string( "*" ) +
|
||||
std::string( pszSymbolStore ) + std::string( ";" );
|
||||
}
|
||||
|
||||
// BOINC Symbol Server
|
||||
if (std::string::npos == strSymbolSearchPath.find("http://boinc.berkeley.edu/symstore")) {
|
||||
strSymbolSearchPath +=
|
||||
std::string( "srv*" ) + strLocalSymbolStore +
|
||||
std::string( "*http://boinc.berkeley.edu/symstore;" );
|
||||
}
|
||||
// Depending on if we are a BOINC application or a project application
|
||||
// we'll need to store our symbol files in two different locations.
|
||||
//
|
||||
// BOINC:
|
||||
// [DATADIR]\symbols
|
||||
// Project:
|
||||
// [DATADIR]\projects\project_dir\symbols
|
||||
//
|
||||
if (!diagnostics_is_flag_set(BOINC_DIAG_BOINCAPPLICATION)) {
|
||||
strLocalSymbolStore += strCurrentDirectory + std::string("\\symbols");
|
||||
} else {
|
||||
strLocalSymbolStore += strExecutableDirectory + std::string("\\symbols");
|
||||
}
|
||||
|
||||
// Microsoft Public Symbol Server
|
||||
if (!diagnostics_is_flag_set(BOINC_DIAG_BOINCAPPLICATION) || (0 < strlen(pszSymbolStore)) {
|
||||
if (std::string::npos == strSymbolSearchPath.find("http://msdl.microsoft.com/download/symbols")) {
|
||||
strSymbolSearchPath +=
|
||||
std::string( "srv*" ) + strLocalSymbolStore +
|
||||
std::string( "*http://msdl.microsoft.com/download/symbols;" );
|
||||
}
|
||||
}
|
||||
|
||||
// Project Symbol Server
|
||||
if (diagnostics_is_flag_set(BOINC_DIAG_BOINCAPPLICATION) && (0 < strlen(pszSymbolStore)) {
|
||||
if ((std::string::npos == strSymbolSearchPath.find(pszSymbolStore)) && (0 < strlen(pszSymbolStore))) {
|
||||
strSymbolSearchPath +=
|
||||
std::string( "srv*" ) + strLocalSymbolStore + std::string( "*" ) +
|
||||
std::string( pszSymbolStore ) + std::string( ";" );
|
||||
}
|
||||
}
|
||||
|
||||
// BOINC Symbol Server
|
||||
if (!diagnostics_is_flag_set(BOINC_DIAG_BOINCAPPLICATION)) {
|
||||
if (std::string::npos == strSymbolSearchPath.find("http://boinc.berkeley.edu/symstore")) {
|
||||
strSymbolSearchPath +=
|
||||
std::string( "srv*" ) + strLocalSymbolStore +
|
||||
std::string( "*http://boinc.berkeley.edu/symstore;" );
|
||||
}
|
||||
}
|
||||
|
||||
if ( strSymbolSearchPath.size() > 0 ) // if we added anything, we have a trailing semicolon
|
||||
strSymbolSearchPath = strSymbolSearchPath.substr( 0, strSymbolSearchPath.size() - 1 );
|
||||
|
||||
|
|
Loading…
Reference in New Issue