Blame abrt-1.0.9-crash-function-detect.patch
|
Karel Klíč |
6b692c |
commit f05c9b25335c84c7b5861fce80fd941ec81212f3
|
|
Karel Klíč |
6b692c |
Author: Karel Klic <kklic@redhat.com>
|
|
Karel Klíč |
6b692c |
Date: Thu Apr 15 12:12:59 2010 +0200
|
|
Karel Klíč |
6b692c |
|
|
Karel Klíč |
6b692c |
Crash function is now detected even for threads without an abort frame.
|
|
Karel Klíč |
6b692c |
|
|
Karel Klíč |
6b692c |
diff --git a/lib/Plugins/CCpp.cpp b/lib/Plugins/CCpp.cpp
|
|
Karel Klíč |
6b692c |
index 9bdcda9..cf25c73 100644
|
|
Karel Klíč |
6b692c |
--- a/lib/Plugins/CCpp.cpp
|
|
Karel Klíč |
6b692c |
+++ b/lib/Plugins/CCpp.cpp
|
|
Karel Klíč |
6b692c |
@@ -761,13 +761,12 @@ void CAnalyzerCCpp::CreateReport(const char *pDebugDumpDir, int force)
|
|
Karel Klíč |
6b692c |
/* Get the function name from the crash frame. */
|
|
Karel Klíč |
6b692c |
if (crash_thread)
|
|
Karel Klíč |
6b692c |
{
|
|
Karel Klíč |
6b692c |
+ struct frame *crash_frame = crash_thread->frames;
|
|
Karel Klíč |
6b692c |
struct frame *abort_frame = thread_find_abort_frame(crash_thread);
|
|
Karel Klíč |
6b692c |
if (abort_frame)
|
|
Karel Klíč |
6b692c |
- {
|
|
Karel Klíč |
6b692c |
- struct frame *crash_frame = abort_frame->next;
|
|
Karel Klíč |
6b692c |
- if (crash_frame && crash_frame->function && 0 != strcmp(crash_frame->function, "??"))
|
|
Karel Klíč |
6b692c |
- dd.SaveText(FILENAME_CRASH_FUNCTION, crash_frame->function);
|
|
Karel Klíč |
6b692c |
- }
|
|
Karel Klíč |
6b692c |
+ crash_frame = abort_frame->next;
|
|
Karel Klíč |
6b692c |
+ if (crash_frame && crash_frame->function && 0 != strcmp(crash_frame->function, "??"))
|
|
Karel Klíč |
6b692c |
+ dd.SaveText(FILENAME_CRASH_FUNCTION, crash_frame->function);
|
|
Karel Klíč |
6b692c |
}
|
|
Karel Klíč |
6b692c |
|
|
Karel Klíč |
6b692c |
backtrace_free(backtrace);
|