diff options
author | Tor Arne Vestbø <tor.arne.vestbo@qt.io> | 2017-05-15 16:14:58 +0200 |
---|---|---|
committer | Tor Arne Vestbø <tor.arne.vestbo@qt.io> | 2017-05-16 12:38:16 +0000 |
commit | 5bc796094accf4f63d6a821b55daeb718506cb1a (patch) | |
tree | bd3a599fa5ed76c1ce1189a0817c37329872c487 | |
parent | 6754514489f97550888b7939135b62c4aefffd10 (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.py | 29 | ||||
-rw-r--r-- | share/qtcreator/debugger/lldbbridge.py | 6 |
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 '' |