Debugger: Remove some now-unused code

Change-Id: I389b827030ab241ecc0b1875d9743faac517bd49
Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
hjk
2016-09-20 12:07:46 +02:00
committed by hjk
parent b4251d6d24
commit 6ac8a445e5
3 changed files with 21 additions and 97 deletions

View File

@@ -40,9 +40,6 @@ else:
toInteger = long toInteger = long
verbosity = 0
verbosity = 1
# Debugger start modes. Keep in sync with DebuggerStartMode in debuggerconstants.h # Debugger start modes. Keep in sync with DebuggerStartMode in debuggerconstants.h
NoStartMode, \ NoStartMode, \
StartInternal, \ StartInternal, \
@@ -1628,27 +1625,6 @@ class DumperBase:
self.putType(typeName) self.putType(typeName)
self.putNumChild(0) self.putNumChild(0)
def putStructGuts(self, value):
self.putEmptyValue()
#warn("STRUCT GUTS: %s ADDRESS: %s " % (value.name, value.address()))
#metaObjectPtr = self.extractMetaObjectPtr(value.address(), value.type)
if self.showQObjectNames:
self.preping(self.currentIName)
metaObjectPtr = self.extractMetaObjectPtr(value.address(), value.type)
self.ping(self.currentIName)
if metaObjectPtr:
self.context = value
self.putQObjectNameValue(value)
#warn("STRUCT GUTS: %s MO: 0x%x " % (self.currentIName, metaObjectPtr))
if self.isExpanded():
self.put('sortable="1"')
with Children(self, 1, childType=None):
self.putFields(value)
if not self.showQObjectNames:
metaObjectPtr = self.extractMetaObjectPtr(value.address(), value.type)
if metaObjectPtr:
self.putQObjectGuts(value, metaObjectPtr)
# This is called is when a QObject derived class is expanded # This is called is when a QObject derived class is expanded
def putQObjectGuts(self, qobject, metaObjectPtr): def putQObjectGuts(self, qobject, metaObjectPtr):
self.putQObjectGutsHelper(qobject, qobject.address(), -1, metaObjectPtr, "QObject") self.putQObjectGutsHelper(qobject, qobject.address(), -1, metaObjectPtr, "QObject")
@@ -2130,15 +2106,6 @@ class DumperBase:
return value.extractSomething(pattern, bitsize) return value.extractSomething(pattern, bitsize)
error("CANT EXTRACT FROM %s" % type(value)) error("CANT EXTRACT FROM %s" % type(value))
# FIXME: Note these should take target architecture into account.
#def extractLong(self, value):
# #return self.extractSomething(value, "l", 32)
# return self.extractSomething(value, "q", 64)
#
# # FIXME: Note these should take target architecture into account.
## def extractULong(self, value):
# return self.extractSomething(value, "Q", 64)
# Parses a..b and a.(s).b # Parses a..b and a.(s).b
def parseRange(self, exp): def parseRange(self, exp):
@@ -2528,13 +2495,6 @@ class DumperBase:
return False return False
def putItem(self, value, tryDynamic=True): def putItem(self, value, tryDynamic=True):
#if value is None:
# # Happens for non-available watchers in gdb versions that
# # need to use gdb.execute instead of gdb.parse_and_eval
# self.putSpecialValue("notaccessible")
# self.putType("<unknown>")
# return True
#warn("ITEM: %s" % value.stringify()) #warn("ITEM: %s" % value.stringify())
typeobj = value.type #unqualified() typeobj = value.type #unqualified()
@@ -2677,8 +2637,26 @@ class DumperBase:
#warn("EXPANDED: %s " % (self.currentIName in self.expandedINames)) #warn("EXPANDED: %s " % (self.currentIName in self.expandedINames))
self.putType(typeName) self.putType(typeName)
self.putNumChild(1) self.putNumChild(1)
#self.putNumChild(value.hasChildren()) self.putEmptyValue()
self.putStructGuts(value) #warn("STRUCT GUTS: %s ADDRESS: %s " % (value.name, value.address()))
#metaObjectPtr = self.extractMetaObjectPtr(value.address(), value.type)
if self.showQObjectNames:
self.preping(self.currentIName)
metaObjectPtr = self.extractMetaObjectPtr(value.address(), value.type)
self.ping(self.currentIName)
if metaObjectPtr:
self.context = value
self.putQObjectNameValue(value)
#warn("STRUCT GUTS: %s MO: 0x%x " % (self.currentIName, metaObjectPtr))
if self.isExpanded():
self.put('sortable="1"')
with Children(self, 1, childType=None):
self.putFields(value)
if not self.showQObjectNames:
metaObjectPtr = self.extractMetaObjectPtr(value.address(), value.type)
if metaObjectPtr:
self.putQObjectGuts(value, metaObjectPtr)
def qtTypeInfoVersion(self): def qtTypeInfoVersion(self):
return 11 # FIXME return 11 # FIXME
@@ -3008,11 +2986,6 @@ class DumperBase:
rawBytes = self.data(size) rawBytes = self.data(size)
return struct.unpack_from(code, rawBytes, 0)[0] return struct.unpack_from(code, rawBytes, 0)[0]
def hasChildren(self):
if self.nativeValue is not None:
return self.dumper.nativeValueHasChildren(self.nativeValue)
return False
def to(self, pattern): def to(self, pattern):
return self.split(pattern)[0] return self.split(pattern)[0]

View File

@@ -27,11 +27,8 @@ try:
import __builtin__ import __builtin__
except: except:
import builtins import builtins
try:
import gdb
except:
pass
import gdb
import os import os
import os.path import os.path
import sys import sys
@@ -187,16 +184,6 @@ class OutputSafer:
#def couldBePointer(p, align):
# typeobj = lookupType("unsigned int")
# ptr = gdb.Value(p).cast(typeobj)
# d = int(str(ptr))
# warn("CHECKING : %s %d " % (p, ((d & 3) == 0 and (d > 1000 or d == 0))))
# return (d & (align - 1)) and (d > 1000 or d == 0)
Value = gdb.Value
####################################################################### #######################################################################
# #
# The Dumper Class # The Dumper Class
@@ -298,21 +285,6 @@ class Dumper(DumperBase):
}[nativeType.code] }[nativeType.code]
return typeobj return typeobj
def fromNativeField(self, nativeField):
self.check(isinstance(nativeField, gdb.Field))
field = self.Field(self)
field.ltype = self.fromNativeType(nativeField.type)
field.parentType = self.fromNativeType(nativeField.parent_type)
field.name = nativeField.name
field.isBaseClass = nativeField.is_base_class
if hasattr(nativeField, 'bitpos'):
field.lbitpos = nativeField.bitpos
if hasattr(nativeField, 'bitsize') and nativeField.bitsize != 0:
field.lbitsize = nativeField.bitsize
else:
field.lbitsize = 8 * nativeField.type.sizeof
return field
def nativeValueDereference(self, nativeValue): def nativeValueDereference(self, nativeValue):
return self.nativeValueDownCast(nativeValue.dereference()) return self.nativeValueDownCast(nativeValue.dereference())
@@ -329,7 +301,6 @@ class Dumper(DumperBase):
return self.fromNativeType(nativeType.strip_typedefs().target()) return self.fromNativeType(nativeType.strip_typedefs().target())
def nativeTypeUnqualified(self, nativeType): def nativeTypeUnqualified(self, nativeType):
#warn("NATIVE TYPE: %s" % nativeType)
return self.fromNativeType(nativeType.unqualified()) return self.fromNativeType(nativeType.unqualified())
def nativeTypePointer(self, nativeType): def nativeTypePointer(self, nativeType):
@@ -340,15 +311,6 @@ class Dumper(DumperBase):
nativeType = nativeType.strip_typedefs().unqualified() nativeType = nativeType.strip_typedefs().unqualified()
return self.fromNativeType(nativeType.target()) return self.fromNativeType(nativeType.target())
def nativeValueHasChildren(self, nativeValue):
nativeType = nativeValue.type
if nativeType.code == gdb.TYPE_CODE_ARRAY:
return True
if nativeType.code not in (gdb.TYPE_CODE_STRUCT, gdb.TYPE_CODE_UNION):
return False
nativeFields = nativeType.fields()
return len(nativeFields) > 0
def nativeTypeFirstBase(self, nativeType): def nativeTypeFirstBase(self, nativeType):
nativeFields = nativeType.fields() nativeFields = nativeType.fields()
if len(nativeFields) and nativeFields[0].is_base_class: if len(nativeFields) and nativeFields[0].is_base_class:
@@ -362,7 +324,6 @@ class Dumper(DumperBase):
return "%d" % intval return "%d" % intval
def nativeTypeFields(self, nativeType): def nativeTypeFields(self, nativeType):
#warn("TYPE: %s" % nativeType)
fields = [] fields = []
if nativeType.code == gdb.TYPE_CODE_ARRAY: if nativeType.code == gdb.TYPE_CODE_ARRAY:
# An array. # An array.

View File

@@ -501,16 +501,6 @@ class Dumper(DumperBase):
return self.fromNativeType(nativeType.GetVectorElementType()) return self.fromNativeType(nativeType.GetVectorElementType())
return self.fromNativeType(nativeType) return self.fromNativeType(nativeType)
def nativeValueHasChildren(self, nativeValue):
nativeType = nativeValue.type
code = nativeType.GetTypeClass()
if code == lldb.eTypeClassArray:
return True
if code not in (lldb.eTypeClassStruct, lldb.eTypeClassUnion):
return False
return nativeType.GetNumberOfFields() > 0 \
or nativeType.GetNumberOfDirectBaseClasses() > 0
def isWindowsTarget(self): def isWindowsTarget(self):
return False return False