summaryrefslogtreecommitdiff
path: root/share/qtcreator/debugger/dumper.py
diff options
context:
space:
mode:
authorhjk <hjk@qt.io>2019-04-09 08:23:24 +0200
committerhjk <hjk@qt.io>2019-04-12 08:32:52 +0000
commite95fd876aa62614fa991ab42c343adbb81acec73 (patch)
tree18152118de8c271c0340e6158893b1b058e7b6d1 /share/qtcreator/debugger/dumper.py
parent57cac11e2082c68b6e8b821e4bf6388a784cc2eb (diff)
downloadqt-creator-e95fd876aa62614fa991ab42c343adbb81acec73.tar.gz
Debugger: Make the time stamp recording option work for single items
Should help to drill down to individual expensive dumpers. Change-Id: I983ba075231784f71dd9d5c3bda375a3ee508bf6 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Diffstat (limited to 'share/qtcreator/debugger/dumper.py')
-rw-r--r--share/qtcreator/debugger/dumper.py6
1 files changed, 6 insertions, 0 deletions
diff --git a/share/qtcreator/debugger/dumper.py b/share/qtcreator/debugger/dumper.py
index e1d04a03f7..d44c528778 100644
--- a/share/qtcreator/debugger/dumper.py
+++ b/share/qtcreator/debugger/dumper.py
@@ -270,6 +270,7 @@ class DumperBase:
# Later set, or not set:
self.stringCutOff = 10000
self.displayStringLimit = 100
+ self.useTimeStamps = False
self.typesReported = {}
self.typesToReport = {}
@@ -329,6 +330,7 @@ class DumperBase:
self.showQObjectNames = int(args.get('qobjectnames', '1'))
self.nativeMixed = int(args.get('nativemixed', '0'))
self.autoDerefPointers = int(args.get('autoderef', '0'))
+ self.useTimeStamps = int(args.get('timestamps', '0'))
self.partialVariable = args.get('partialvar', '')
self.uninitialized = args.get('uninitialized', [])
self.uninitialized = list(map(lambda x: self.hexdecode(x), self.uninitialized))
@@ -422,6 +424,8 @@ class DumperBase:
self.currentIName = item.iname
self.currentValue = ReportItem();
self.currentType = ReportItem();
+ if self.useTimeStamps:
+ item.startTime = time.time()
def exitSubItem(self, item, exType, exValue, exTraceBack):
#warn('CURRENT VALUE: %s: %s %s' %
@@ -431,6 +435,8 @@ class DumperBase:
showException('SUBITEM', exType, exValue, exTraceBack)
self.putSpecialValue('notaccessible')
self.putNumChild(0)
+ if self.useTimeStamps:
+ self.put('time="%s",' % (time.time() - item.startTime))
if not self.isCli:
try:
if self.currentType.value: