summaryrefslogtreecommitdiff
path: root/desktop
diff options
context:
space:
mode:
authorGopi Krishna Menon <gopi.menon@collabora.com>2021-06-07 14:21:33 +0000
committerTor Lillqvist <tml@collabora.com>2021-06-16 14:45:35 +0200
commit4b925781760ba84e62cb847ddfe8f8c667a44c95 (patch)
tree0aac7bdda3cae5d84a0845eb42e0b6ce8d9ac43c /desktop
parent3f9fcf0e7f154e49bbffeaea925edb6055add494 (diff)
Add Active App Name Field To Crash Report
Adds a Active-App field in Crash Report to assist in investigating the crashes Change-Id: I30e5f307045b8e5def9986447551f39e70b94edc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116786 Tested-by: Jenkins Reviewed-by: Tor Lillqvist <tml@collabora.com>
Diffstat (limited to 'desktop')
-rw-r--r--desktop/source/app/crashreport.cxx15
1 files changed, 14 insertions, 1 deletions
diff --git a/desktop/source/app/crashreport.cxx b/desktop/source/app/crashreport.cxx
index 6f3d72934d51..b6d8b14d8beb 100644
--- a/desktop/source/app/crashreport.cxx
+++ b/desktop/source/app/crashreport.cxx
@@ -43,14 +43,16 @@
#endif
osl::Mutex CrashReporter::maMutex;
+osl::Mutex CrashReporter::maActiveNameMutex;
std::unique_ptr<google_breakpad::ExceptionHandler> CrashReporter::mpExceptionHandler;
bool CrashReporter::mbInit = false;
CrashReporter::vmaKeyValues CrashReporter::maKeyValues;
-
+OUString CrashReporter::mActiveApp;
#if defined( UNX ) && !defined MACOSX && !defined IOS && !defined ANDROID
static bool dumpCallback(const google_breakpad::MinidumpDescriptor& descriptor, void* /*context*/, bool succeeded)
{
+ CrashReporter::addKeyValue("Active-App",CrashReporter::currentActiveApp(),CrashReporter::AddItem);
CrashReporter::addKeyValue("DumpFile", OStringToOUString(descriptor.path(), RTL_TEXTENCODING_UTF8), CrashReporter::Write);
SAL_WARN("desktop", "minidump generated: " << descriptor.path());
@@ -68,6 +70,7 @@ static bool dumpCallback(const wchar_t* path, const wchar_t* id,
#endif
std::wstring_convert<std::codecvt_utf8<wchar_t>> conv1;
std::string aPath = conv1.to_bytes(std::wstring(path)) + conv1.to_bytes(std::wstring(id)) + ".dmp";
+ CrashReporter::addKeyValue("Active-App",CrashReporter::currentActiveApp(),CrashReporter::AddItem);
CrashReporter::addKeyValue("DumpFile", OStringToOUString(aPath.c_str(), RTL_TEXTENCODING_UTF8), CrashReporter::AddItem);
CrashReporter::addKeyValue("GDIHandles", OUString::number(::GetGuiResources(::GetCurrentProcess(), GR_GDIOBJECTS)), CrashReporter::Write);
SAL_WARN("desktop", "minidump generated: " << aPath);
@@ -159,6 +162,16 @@ void CrashReporter::writeCommonInfo()
updateMinidumpLocation();
}
+void CrashReporter::setActiveApp(const OUString& rActiveApp)
+{
+ osl::MutexGuard aGuard(maActiveNameMutex);
+ mActiveApp=rActiveApp;
+}
+
+OUString CrashReporter::currentActiveApp()
+{
+ return mActiveApp;
+}
namespace {