diff options
author | caitkp@chromium.org <caitkp@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-08-01 23:18:55 +0000 |
---|---|---|
committer | caitkp@chromium.org <caitkp@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-08-01 23:18:55 +0000 |
commit | 6cdc68d56628119482cd42f4a574d8c7edf88843 (patch) | |
tree | 4bd3acb69e353225e4c49fd7ad564a5b451ed506 | |
parent | 3357dd0927e4bdbccc117b5a432a039894bbc559 (diff) | |
download | chromium_src-6cdc68d56628119482cd42f4a574d8c7edf88843.zip chromium_src-6cdc68d56628119482cd42f4a574d8c7edf88843.tar.gz chromium_src-6cdc68d56628119482cd42f4a574d8c7edf88843.tar.bz2 |
Add more detail to Chrome ELF crash reports
BUG=370153
Review URL: https://codereview.chromium.org/434143002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@287116 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | chrome_elf/breakpad.cc | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/chrome_elf/breakpad.cc b/chrome_elf/breakpad.cc index 4c20324..4eeb129 100644 --- a/chrome_elf/breakpad.cc +++ b/chrome_elf/breakpad.cc @@ -23,6 +23,8 @@ const wchar_t kBreakpadVersionEntry[] = L"ver"; const wchar_t kBreakpadProdEntry[] = L"prod"; const wchar_t kBreakpadPlatformEntry[] = L"plat"; const wchar_t kBreakpadPlatformWin32[] = L"Win32"; +const wchar_t kBreakpadProcessEntry[] = L"ptype"; +const wchar_t kBreakpadChannelEntry[] = L"channel"; // The protocol for connecting to the out-of-process Breakpad crash // reporter is different for x86-32 and x86-64: the message sizes @@ -37,14 +39,27 @@ const wchar_t kNoErrorDialogs[] = L"noerrdialogs"; const wchar_t kChromeHeadless[] = L"CHROME_HEADLESS"; google_breakpad::CustomClientInfo* GetCustomInfo() { + base::string16 process = IsNonBrowserProcess() ? L"renderer" : L"browser"; + + wchar_t exe_path[MAX_PATH] = {}; + base::string16 channel; + if (GetModuleFileName(NULL, exe_path, arraysize(exe_path)) && + IsCanary(exe_path)) { + channel = L"canary"; + } + static google_breakpad::CustomInfoEntry ver_entry( kBreakpadVersionEntry, TEXT(CHROME_VERSION_STRING)); static google_breakpad::CustomInfoEntry prod_entry( kBreakpadProdEntry, kBreakpadProductName); static google_breakpad::CustomInfoEntry plat_entry( kBreakpadPlatformEntry, kBreakpadPlatformWin32); + static google_breakpad::CustomInfoEntry proc_entry( + kBreakpadProcessEntry, process.c_str()); + static google_breakpad::CustomInfoEntry channel_entry( + kBreakpadChannelEntry, channel.c_str()); static google_breakpad::CustomInfoEntry entries[] = { - ver_entry, prod_entry, plat_entry }; + ver_entry, prod_entry, plat_entry, proc_entry, channel_entry}; static google_breakpad::CustomClientInfo custom_info = { entries, arraysize(entries) }; return &custom_info; |