Files
qt-creator/share/qtcreator/dumper/bridge.py
hjk 2f147b4055 Debugger: Report process state and location from LLDB bridge
Change-Id: I1e65b2f75ff4ebde17f7d8506193cb47474335f6
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-04-10 17:52:43 +02:00

94 lines
1.8 KiB
Python

import binascii
import inspect
import os
import traceback
cdbLoaded = False
lldbLoaded = False
gdbLoaded = False
#######################################################################
#
# Helpers
#
#######################################################################
currentDir = os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe())))
#print "DIR: %s " % currentDir
def warn(message):
print "XXX: %s\n" % message.encode("latin1")
PointerCode = None
ArrayCode = None
StructCode = None
UnionCode = None
EnumCode = None
FlagsCode = None
FunctionCode = None
IntCode = None
FloatCode = None
VoidCode = None
SetCode = None
RangeCode = None
StringCode = None
BitStringCode = None
ErrorTypeCode = None
MethodCode = None
MethodPointerCode = None
MemberPointerCode = None
ReferenceCode = None
CharCode = None
BoolCode = None
ComplexCode = None
TypedefCode = None
NamespaceCode = None
SimpleValueCode = None # LLDB only
failReasons = []
# CDB
if False:
try:
import cdb_bridge
cdbLoaded = True
except:
failReasons.append(traceback.format_exc())
# GDB
if not cdbLoaded:
try:
import gdb
execfile(os.path.join(currentDir, "gbridge.py"))
gdbLoaded = True
except:
failReasons.append(traceback.format_exc())
# LLDB
if not gdbLoaded and not cdbLoaded:
try:
execfile(os.path.join(currentDir, "lbridge.py"))
lldbLoaded = True
except:
failReasons.append(traceback.format_exc())
# One is sufficient.
#if cdbLoaded or gdbLoaded or lldbLoaded:
# failReasons = []
try:
execfile(os.path.join(currentDir, "dumper.py"))
execfile(os.path.join(currentDir, "qttypes.py"))
bbsetup()
except:
failReasons.append(traceback.format_exc())
if len(failReasons):
print "CANNOT ACCESS ANY DEBUGGER BACKEND:\n %s" % "\n".join(failReasons)