diff options
author | Gopi Krishna Menon <gopi.menon@collabora.com> | 2021-06-07 14:21:33 +0000 |
---|---|---|
committer | Tor Lillqvist <tml@collabora.com> | 2021-06-16 14:45:35 +0200 |
commit | 4b925781760ba84e62cb847ddfe8f8c667a44c95 (patch) | |
tree | 0aac7bdda3cae5d84a0845eb42e0b6ce8d9ac43c /desktop | |
parent | 3f9fcf0e7f154e49bbffeaea925edb6055add494 (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.cxx | 15 |
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 { |