Blob Blame History Raw
commit f05c9b25335c84c7b5861fce80fd941ec81212f3
Author: Karel Klic <kklic@redhat.com>
Date:   Thu Apr 15 12:12:59 2010 +0200

    Crash function is now detected even for threads without an abort frame.

diff --git a/lib/Plugins/CCpp.cpp b/lib/Plugins/CCpp.cpp
index 9bdcda9..cf25c73 100644
--- a/lib/Plugins/CCpp.cpp
+++ b/lib/Plugins/CCpp.cpp
@@ -761,13 +761,12 @@ void CAnalyzerCCpp::CreateReport(const char *pDebugDumpDir, int force)
         /* Get the function name from the crash frame. */
         if (crash_thread)
         {
+            struct frame *crash_frame = crash_thread->frames;
             struct frame *abort_frame = thread_find_abort_frame(crash_thread);
             if (abort_frame)
-            {
-                struct frame *crash_frame = abort_frame->next;
-                if (crash_frame && crash_frame->function && 0 != strcmp(crash_frame->function, "??"))
-                    dd.SaveText(FILENAME_CRASH_FUNCTION, crash_frame->function);
-            }
+                crash_frame = abort_frame->next;
+            if (crash_frame && crash_frame->function && 0 != strcmp(crash_frame->function, "??"))
+                dd.SaveText(FILENAME_CRASH_FUNCTION, crash_frame->function);
         }
 
         backtrace_free(backtrace);