provide a network source line resolver + server. r=mark,jimb at http://breakpad.appspot.com/36001

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@569 4c0a9323-5329-0410-9bdc-e9ce6186880e
This commit is contained in:
ted.mielczarek
2010-04-08 23:06:23 +00:00
parent c0ec51afe0
commit b223627d81
33 changed files with 5435 additions and 299 deletions

View File

@@ -92,7 +92,7 @@ bool Stackwalker::Walk(CallStack *stack) {
if (module) {
frame->module = module;
if (resolver_ &&
!resolver_->HasModule(frame->module->code_file()) &&
!resolver_->HasModule(frame->module) &&
no_symbol_modules_.find(
module->code_file()) == no_symbol_modules_.end() &&
supplier_) {
@@ -103,7 +103,7 @@ bool Stackwalker::Walk(CallStack *stack) {
switch (symbol_result) {
case SymbolSupplier::FOUND:
resolver_->LoadModuleUsingMapBuffer(frame->module->code_file(),
resolver_->LoadModuleUsingMapBuffer(frame->module,
symbol_data);
break;
case SymbolSupplier::NOT_FOUND:
@@ -201,14 +201,14 @@ bool Stackwalker::InstructionAddressSeemsValid(u_int64_t address) {
return true;
}
if (!resolver_->HasModule(module->code_file())) {
if (!resolver_->HasModule(module)) {
string symbol_data, symbol_file;
SymbolSupplier::SymbolResult symbol_result =
supplier_->GetSymbolFile(module, system_info_,
&symbol_file, &symbol_data);
if (symbol_result != SymbolSupplier::FOUND ||
!resolver_->LoadModuleUsingMapBuffer(module->code_file(),
!resolver_->LoadModuleUsingMapBuffer(module,
symbol_data)) {
// we don't have symbols, but we're inside a loaded module
return true;