Commit 73ef5e33 authored by hjk's avatar hjk

debugger: properly display function pointers with python

parent a1fed931
......@@ -1023,9 +1023,17 @@ class Dumper:
elif type.code == gdb.TYPE_CODE_PTR:
isHandled = False
#warn("A POINTER: %s" % value.type)
if self.useFancy:
isHandled = False
if str(type.strip_typedefs()).find("(") != -1:
self.putValue(str(item.value))
self.put('addr="%s",' % cleanAddress(value.address))
self.putType(item.value.type)
self.putNumChild(0)
isHandled = True
if (not isHandled) and self.useFancy:
if isNull(value):
self.putValue("0x0")
self.putType(item.value.type)
......
......@@ -380,6 +380,7 @@ QByteArray TrkGdbAdapter::trkStepRangeMessage()
if (m_snapshot.stepOver)
option = 0x11; // Step over.
if (from <= pc && pc <= to) {
//to = qMax(to - 4, from);
//to = qMax(to - 4, from);
debugMessage("STEP IN " + hexxNumber(from) + " " + hexxNumber(to)
+ " INSTEAD OF " + hexxNumber(pc));
......
......@@ -231,6 +231,14 @@ void testAnonymous()
a.i = 3;
}
void testFunctionPointer()
{
typedef void (*func_t)();
func_t f1 = testAnonymous;
func_t f2 = testFunctionPointer;
func_t f3 = testFunctionPointer;
}
void testQByteArray()
{
QByteArray ba = "Hello";
......@@ -1434,6 +1442,7 @@ int testReference()
int main(int argc, char *argv[])
{
testFunctionPointer();
testAnonymous();
testReference();
//testEndlessRecursion();
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment