Experiment with printing a warning message when lldb is unable to
authorJason Molenda <jmolenda@apple.com>
Tue, 19 Feb 2013 06:39:56 +0000 (06:39 +0000)
committerJason Molenda <jmolenda@apple.com>
Tue, 19 Feb 2013 06:39:56 +0000 (06:39 +0000)
find a binary on the debugger-host during a kernel debug session
for a kernel extension (kext).  This may prove to be too verbose
in typical usage, particularly if there are many third-party kexts.
We'll try this and see how it works.

<rdar://problem/13080833>

llvm-svn: 175494

lldb/source/Plugins/DynamicLoader/Darwin-Kernel/DynamicLoaderDarwinKernel.cpp

index 9cf8f5d..0f69a25 100644 (file)
@@ -794,7 +794,7 @@ DynamicLoaderDarwinKernel::KextImageInfo::LoadImageUsingMemoryModule (Process *p
                 Stream *s = &target.GetDebugger().GetOutputStream();
                 if (s)
                 {
-                    s->Printf ("WARNING: Unable to locate symbol rich version of kernel binary.\n");
+                    s->Printf ("WARNING: Unable to locate kernel binary on this system.\n");
                 }
             }
         }
@@ -822,6 +822,16 @@ DynamicLoaderDarwinKernel::KextImageInfo::LoadImageUsingMemoryModule (Process *p
         }
     }
     
+    if (!m_module_sp && !IsKernel() && m_uuid.IsValid() && !m_name.empty())
+    {
+        Stream *s = &target.GetDebugger().GetOutputStream();
+        if (s)
+        {
+            char uuidbuf[64];
+            s->Printf ("warning: Can't find binary/dSYM for %s (%s)\n", 
+                       m_name.c_str(), m_uuid.GetAsCString(uuidbuf, sizeof (uuidbuf)));
+        }
+    }
 
     static ConstString g_section_name_LINKEDIT ("__LINKEDIT");