forked from qt-creator/qt-creator
Debugger: Remove some now-unused code
Change-Id: I389b827030ab241ecc0b1875d9743faac517bd49 Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
@@ -40,9 +40,6 @@ else:
|
||||
toInteger = long
|
||||
|
||||
|
||||
verbosity = 0
|
||||
verbosity = 1
|
||||
|
||||
# Debugger start modes. Keep in sync with DebuggerStartMode in debuggerconstants.h
|
||||
NoStartMode, \
|
||||
StartInternal, \
|
||||
@@ -1628,27 +1625,6 @@ class DumperBase:
|
||||
self.putType(typeName)
|
||||
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
|
||||
def putQObjectGuts(self, qobject, metaObjectPtr):
|
||||
self.putQObjectGutsHelper(qobject, qobject.address(), -1, metaObjectPtr, "QObject")
|
||||
@@ -2130,15 +2106,6 @@ class DumperBase:
|
||||
return value.extractSomething(pattern, bitsize)
|
||||
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
|
||||
def parseRange(self, exp):
|
||||
|
||||
@@ -2528,13 +2495,6 @@ class DumperBase:
|
||||
return False
|
||||
|
||||
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())
|
||||
|
||||
typeobj = value.type #unqualified()
|
||||
@@ -2677,8 +2637,26 @@ class DumperBase:
|
||||
#warn("EXPANDED: %s " % (self.currentIName in self.expandedINames))
|
||||
self.putType(typeName)
|
||||
self.putNumChild(1)
|
||||
#self.putNumChild(value.hasChildren())
|
||||
self.putStructGuts(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)
|
||||
|
||||
|
||||
def qtTypeInfoVersion(self):
|
||||
return 11 # FIXME
|
||||
@@ -3008,11 +2986,6 @@ class DumperBase:
|
||||
rawBytes = self.data(size)
|
||||
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):
|
||||
return self.split(pattern)[0]
|
||||
|
||||
|
||||
@@ -27,11 +27,8 @@ try:
|
||||
import __builtin__
|
||||
except:
|
||||
import builtins
|
||||
try:
|
||||
import gdb
|
||||
except:
|
||||
pass
|
||||
|
||||
import gdb
|
||||
import os
|
||||
import os.path
|
||||
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
|
||||
@@ -298,21 +285,6 @@ class Dumper(DumperBase):
|
||||
}[nativeType.code]
|
||||
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):
|
||||
return self.nativeValueDownCast(nativeValue.dereference())
|
||||
|
||||
@@ -329,7 +301,6 @@ class Dumper(DumperBase):
|
||||
return self.fromNativeType(nativeType.strip_typedefs().target())
|
||||
|
||||
def nativeTypeUnqualified(self, nativeType):
|
||||
#warn("NATIVE TYPE: %s" % nativeType)
|
||||
return self.fromNativeType(nativeType.unqualified())
|
||||
|
||||
def nativeTypePointer(self, nativeType):
|
||||
@@ -340,15 +311,6 @@ class Dumper(DumperBase):
|
||||
nativeType = nativeType.strip_typedefs().unqualified()
|
||||
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):
|
||||
nativeFields = nativeType.fields()
|
||||
if len(nativeFields) and nativeFields[0].is_base_class:
|
||||
@@ -362,7 +324,6 @@ class Dumper(DumperBase):
|
||||
return "%d" % intval
|
||||
|
||||
def nativeTypeFields(self, nativeType):
|
||||
#warn("TYPE: %s" % nativeType)
|
||||
fields = []
|
||||
if nativeType.code == gdb.TYPE_CODE_ARRAY:
|
||||
# An array.
|
||||
|
||||
@@ -501,16 +501,6 @@ class Dumper(DumperBase):
|
||||
return self.fromNativeType(nativeType.GetVectorElementType())
|
||||
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):
|
||||
return False
|
||||
|
||||
|
||||
Reference in New Issue
Block a user