aboutsummaryrefslogtreecommitdiffstats
path: root/share/qtcreator/debugger
diff options
context:
space:
mode:
authorOrgad Shaneh <orgad.shaneh@audiocodes.com>2019-03-01 12:20:57 +0200
committerOrgad Shaneh <orgad.shaneh@audiocodes.com>2019-03-01 13:06:57 +0200
commitcbfc6e522dced7516dbfa036197476796ca1dcf8 (patch)
treee78aa7f496b1986d127e991da685bcc3382fa1f9 /share/qtcreator/debugger
parent89831854059144613279affc4c37eb65dbcbf6e7 (diff)
parentaa14e396f03232ce97a723aaf18ab89f7dfad698 (diff)
Merge remote-tracking branch 'origin/4.9'
Diffstat (limited to 'share/qtcreator/debugger')
-rw-r--r--share/qtcreator/debugger/cdbbridge.py4
-rw-r--r--share/qtcreator/debugger/stdtypes.py15
2 files changed, 14 insertions, 5 deletions
diff --git a/share/qtcreator/debugger/cdbbridge.py b/share/qtcreator/debugger/cdbbridge.py
index 9b1dd07810..1e59452ffd 100644
--- a/share/qtcreator/debugger/cdbbridge.py
+++ b/share/qtcreator/debugger/cdbbridge.py
@@ -458,10 +458,6 @@ class Dumper(DumperBase):
def report(self, stuff):
sys.stdout.write(stuff + "\n")
- def loadDumpers(self, args):
- msg = self.setupDumpers()
- self.reportResult(msg, args)
-
def findValueByExpression(self, exp):
return cdbext.parseAndEvaluate(exp)
diff --git a/share/qtcreator/debugger/stdtypes.py b/share/qtcreator/debugger/stdtypes.py
index 154e0ad67e..8810e09912 100644
--- a/share/qtcreator/debugger/stdtypes.py
+++ b/share/qtcreator/debugger/stdtypes.py
@@ -1024,7 +1024,20 @@ def qdump__std__basic_string(d, value):
def qdump__std____cxx11__basic_string(d, value):
innerType = value.type[0]
- (data, size) = value.split("pI")
+ try:
+ allocator = value.type[2].name
+ except:
+ allocator = ''
+ if allocator == 'std::allocator<%s>' % innerType.name:
+ (data, size) = value.split("pI")
+ else:
+ try:
+ data = value["_M_dataplus"]["_M_p"]
+ size = int(value["_M_string_length"])
+ except:
+ d.putEmptyValue()
+ d.putPlainChildren(value)
+ return
d.check(0 <= size) #and size <= alloc and alloc <= 100*1000*1000)
d.putCharArrayHelper(data, size, innerType, d.currentItemFormat())