[Lldb-commits] [lldb] r154028 - in /lldb/trunk: include/lldb/Core/ValueObject.h source/Core/ValueObject.cpp

Enrico Granata egranata at apple.com
Wed Apr 4 10:34:10 PDT 2012


Author: enrico
Date: Wed Apr  4 12:34:10 2012
New Revision: 154028

URL: http://llvm.org/viewvc/llvm-project?rev=154028&view=rev
Log:
Attempt at fixing a crasher where summary strings where looping endlessly.

Modified:
    lldb/trunk/include/lldb/Core/ValueObject.h
    lldb/trunk/source/Core/ValueObject.cpp

Modified: lldb/trunk/include/lldb/Core/ValueObject.h
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/include/lldb/Core/ValueObject.h?rev=154028&r1=154027&r2=154028&view=diff
==============================================================================
--- lldb/trunk/include/lldb/Core/ValueObject.h (original)
+++ lldb/trunk/include/lldb/Core/ValueObject.h Wed Apr  4 12:34:10 2012
@@ -966,7 +966,6 @@
     {
         m_type_summary_sp = format;
         ClearUserVisibleData(eClearUserVisibleDataItemsSummary);
-        m_is_getting_summary = false;
     }
     
     void

Modified: lldb/trunk/source/Core/ValueObject.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Core/ValueObject.cpp?rev=154028&r1=154027&r2=154028&view=diff
==============================================================================
--- lldb/trunk/source/Core/ValueObject.cpp (original)
+++ lldb/trunk/source/Core/ValueObject.cpp Wed Apr  4 12:34:10 2012
@@ -671,6 +671,14 @@
         return false;
     
     m_is_getting_summary = true;
+    
+    // this is a hot path in code and we prefer to avoid setting this string all too often also clearing out other
+    // information that we might care to see in a crash log. might be useful in very specific situations though.
+    /*Host::SetCrashDescriptionWithFormat("Trying to fetch a summary for %s %s. Summary provider's description is %s",
+                                        GetTypeName().GetCString(),
+                                        GetName().GetCString(),
+                                        summary_ptr->GetDescription().c_str());*/
+    
     if (UpdateValueIfNeeded (false))
     {
         if (summary_ptr)
@@ -3928,7 +3936,6 @@
     
     if ((clear_mask & eClearUserVisibleDataItemsSummary) == eClearUserVisibleDataItemsSummary)
     {
-        m_is_getting_summary = false;
         m_summary_str.clear();
     }
     





More information about the lldb-commits mailing list