Fork of https://chromium.googlesource.com/breakpad/breakpad to be usable in https://github.com/Microsoft/AppCenter-SDK-Android test app without the fetch tools.
void CompilationUnit::ProcessSplitDwarf() {
struct stat statbuf;
if (!have_checked_for_dwp_) {
// Look for a .dwp file in the same directory as the executable.
have_checked_for_dwp_ = true;
string dwp_suffix(".dwp");
dwp_path_ = path_ + dwp_suffix;
if (stat(dwp_path_.c_str(), &statbuf) != 0) {
// Fall back to a split .debug file in the same directory.
string debug_suffix(".debug");
dwp_path_ = path_;
size_t found = path_.rfind(debug_suffix);
There are important files that Microsoft projects should all have that are not present in this repository. A pull request has been opened to add the missing file(s). When the pr is merged this issue will be closed automatically.
There are 2 occurrences of 'grandfather' in the comments within src/processor/stackwalker_x86_unittest.cc
Suggestion to change to 'carry over' or similar.
This doesn't build for Xcode 10, mainly due to being configured for very old macOS versions as the build target.
Once I've fixed those issues, I get a big problem when trying to build dump_syms:
Undefined symbols for architecture x86_64:
"vtable for google_breakpad::DwarfRangeListHandler", referenced from:
google_breakpad::DwarfRangeListHandler::DwarfRangeListHandler(unsigned long long, std::__1::vector<google_breakpad::Module::Range, std::__1::allocator<google_breakpad::Module::Range> >*) in dump_syms.o
NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
I had to do the following to get the software to build (from Linux / Ubuntu VM on Mac under Parallels):
cd ~/appcenter-sdk-android-breakpad
configure
#The next two lines are essential, or the make fails:
git clone https://chromium.googlesource.com/linux-syscall-support
cp -p linux-syscall-support/linux_syscall_support.h .
make