Chromium Code Reviews| Index: base/logging.cc |
| diff --git a/base/logging.cc b/base/logging.cc |
| index 8ff226082e60b2fbd9999329bd0dccc5ca3b1d60..1c7c82a64b9ced296a312a6dbb14b182cbcc85a8 100644 |
| --- a/base/logging.cc |
| +++ b/base/logging.cc |
| @@ -61,6 +61,9 @@ typedef pthread_mutex_t* MutexHandle; |
| #include "base/command_line.h" |
| #include "base/debug/alias.h" |
| #include "base/debug/debugger.h" |
| +#if defined(OFFICIAL_BUILD) |
|
scottmg
2016/03/21 17:28:12
Remove the #if here.
Wez
2016/03/23 04:18:13
You prefer to include even if it won't be used?
D
|
| +#include "base/debug/dump_without_crashing.h" |
| +#endif |
| #include "base/debug/stack_trace.h" |
| #include "base/posix/eintr_wrapper.h" |
| #include "base/strings/string_piece.h" |
| @@ -335,6 +338,17 @@ void CloseLogFileUnlocked() { |
| } // namespace |
| +#if defined(DCHECK_IS_DUMP_WITHOUT_CRASH) |
| +// Used to implement dump-on-DCHECK. See crbug.com/596231. |
| +void DCheckDumpWithoutCrashing() { |
| + // To ensure we don't risk spamming Crash with dump-on-DCHECK reports we |
| + // log only the first DCHECK to fail once DumpWithoutCrashing() is working. |
| + static bool dump_on_dcheck = true; |
|
Nico
2016/03/20 23:10:40
this is racy (doubt it matters though)
Wez
2016/03/23 04:18:13
Extended comment to clarify that yes, that's under
|
| + if (dump_on_dcheck) |
| + dump_on_dcheck = !base::debug::DumpWithoutCrashing(); |
|
Nico
2016/03/20 23:10:40
for stacks in renderer processes, this will dump o
Wez
2016/03/23 04:18:13
Yes. Extended comment should make that clearer.
|
| +} |
| +#endif |
| + |
| LoggingSettings::LoggingSettings() |
| : logging_dest(LOG_DEFAULT), |
| log_file(nullptr), |