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