From 04eaf6cdfc4be6b7b758424a2ea7f3aa68befefb Mon Sep 17 00:00:00 2001
From: hjk <hjk121@nokiamail.com>
Date: Wed, 23 Oct 2013 15:19:48 +0200
Subject: [PATCH] Debugger: Make function pointers visible with LLDB

Change-Id: I230bee9c55e54f62c93a8515af0f56cdafed78bf
Reviewed-by: hjk <hjk121@nokiamail.com>
---
 share/qtcreator/debugger/lldbbridge.py | 16 ++++++++++------
 1 file changed, 10 insertions(+), 6 deletions(-)

diff --git a/share/qtcreator/debugger/lldbbridge.py b/share/qtcreator/debugger/lldbbridge.py
index 6b187927c0d..79e9ecbd60b 100644
--- a/share/qtcreator/debugger/lldbbridge.py
+++ b/share/qtcreator/debugger/lldbbridge.py
@@ -1072,12 +1072,16 @@ class Dumper(DumperBase):
                 self.putArrayData(innerType, value, 1000)
                 return
 
-            #if innerType.code == MethodCode or innerType.code == FunctionCode:
-            #    # A function pointer with format None.
-            #    self.putValue(str(value))
-            #    self.putType(typeName)
-            #    self.putNumChild(0)
-            #    return
+            if innerType.IsFunctionType():
+                # A function pointer.
+                val = str(value)
+                pos = val.find(" = ")
+                if pos > 0:
+                    val = val[pos + 3:]
+                self.putValue(val)
+                self.putType(innerType)
+                self.putNumChild(0)
+                return
 
             #warn("AUTODEREF: %s" % self.autoDerefPointers)
             #warn("INAME: %s" % self.currentIName)
-- 
GitLab