summaryrefslogtreecommitdiffstats
path: root/chrome_elf
diff options
context:
space:
mode:
authorcaitkp@chromium.org <caitkp@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-08-01 23:18:55 +0000
committercaitkp@chromium.org <caitkp@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-08-01 23:18:55 +0000
commit6cdc68d56628119482cd42f4a574d8c7edf88843 (patch)
tree4bd3acb69e353225e4c49fd7ad564a5b451ed506 /chrome_elf
parent3357dd0927e4bdbccc117b5a432a039894bbc559 (diff)
downloadchromium_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
Diffstat (limited to 'chrome_elf')
-rw-r--r--chrome_elf/breakpad.cc17
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;