Index: content/app/content_main_runner.cc |
diff --git a/content/app/content_main_runner.cc b/content/app/content_main_runner.cc |
index df069e87e07a6c77125fe6af3f16f93918126926..55c6ac7f651137d6e9f55fb46e0de6c78a286754 100644 |
--- a/content/app/content_main_runner.cc |
+++ b/content/app/content_main_runner.cc |
@@ -10,6 +10,7 @@ |
#include "base/at_exit.h" |
#include "base/command_line.h" |
#include "base/debug/debugger.h" |
+#include "base/debug/stack_trace.h" |
#include "base/files/file_path.h" |
#include "base/i18n/icu_util.h" |
#include "base/lazy_instance.h" |
@@ -195,6 +196,15 @@ void CommonSubprocessInit(const std::string& process_type) { |
// surface UI -- but it's likely they get this wrong too so why not. |
setlocale(LC_NUMERIC, "C"); |
#endif |
+ |
+#if !defined(OFFICIAL_BUILD) |
+ // Print stack traces to stderr when crashes occur. This opens up security |
+ // holes so it should never be enabled for official builds. |
+ base::debug::EnableInProcessStackDumping(); |
+#if defined(OS_WIN) |
+ LoadLibraryA("dbghelp.dll"); |
+#endif |
+#endif |
} |
class ContentClientInitializer { |