aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTor Arne Vestbø <tor.arne.vestbo@qt.io>2017-05-15 16:14:58 +0200
committerTor Arne Vestbø <tor.arne.vestbo@qt.io>2017-05-16 12:38:16 +0000
commit5bc796094accf4f63d6a821b55daeb718506cb1a (patch)
treebd3a599fa5ed76c1ce1189a0817c37329872c487
parent6754514489f97550888b7939135b62c4aefffd10 (diff)
Allow custom handling of python Dumper warnings/exceptions
Change-Id: I04108a09c317675d597bb6d0d58331c70ce02fb9 Reviewed-by: hjk <hjk@qt.io> Reviewed-by: Christian Stenger <christian.stenger@qt.io>
-rw-r--r--share/qtcreator/debugger/dumper.py29
-rw-r--r--share/qtcreator/debugger/lldbbridge.py6
2 files changed, 17 insertions, 18 deletions
diff --git a/share/qtcreator/debugger/dumper.py b/share/qtcreator/debugger/dumper.py
index 3f972603e5..85e57e2af6 100644
--- a/share/qtcreator/debugger/dumper.py
+++ b/share/qtcreator/debugger/dumper.py
@@ -152,27 +152,18 @@ class ReportItem:
def warn(message):
- print('bridgemessage={msg="%s"},' % message.replace('"', '$').encode('latin1'))
+ DumperBase.warn(message)
def xwarn(message):
- print('bridgemessage={msg="%s"},' % message.replace('"', '$').encode('latin1'))
+ warn(message)
import traceback
traceback.print_stack()
-
def error(message):
raise RuntimeError(message)
-
def showException(msg, exType, exValue, exTraceback):
- warn('**** CAUGHT EXCEPTION: %s ****' % msg)
- try:
- import traceback
- for line in traceback.format_exception(exType, exValue, exTraceback):
- warn('%s' % line)
- except:
- pass
-
+ DumperBase.showException(msg, exType, exValue, exTraceback)
class Children:
def __init__(self, d, numChild = 1, childType = None, childNumChild = None,
@@ -248,6 +239,20 @@ class UnnamedSubItem(SubItem):
self.name = None
class DumperBase:
+ @staticmethod
+ def warn(message):
+ print('bridgemessage={msg="%s"},' % message.replace('"', '$').encode('latin1'))
+
+ @staticmethod
+ def showException(msg, exType, exValue, exTraceback):
+ warn('**** CAUGHT EXCEPTION: %s ****' % msg)
+ try:
+ import traceback
+ for line in traceback.format_exception(exType, exValue, exTraceback):
+ warn('%s' % line)
+ except:
+ pass
+
def __init__(self):
self.isCdb = False
self.isGdb = False
diff --git a/share/qtcreator/debugger/lldbbridge.py b/share/qtcreator/debugger/lldbbridge.py
index 2d45838eaf..ba75e0d576 100644
--- a/share/qtcreator/debugger/lldbbridge.py
+++ b/share/qtcreator/debugger/lldbbridge.py
@@ -43,12 +43,6 @@ from dumper import *
qqWatchpointOffset = 10000
-def showException(msg, exType, exValue, exTraceback):
- warn('**** CAUGHT EXCEPTION: %s ****' % msg)
- import traceback
- lines = [line for line in traceback.format_exception(exType, exValue, exTraceback)]
- warn('\n'.join(lines))
-
def fileNameAsString(file):
return str(file) if file.IsValid() else ''