From 89ae26419c49aff5591fa81aedf74c4f7bd6a93d Mon Sep 17 00:00:00 2001 From: hjk <qtc-committer@nokia.com> Date: Wed, 24 Mar 2010 14:48:45 +0100 Subject: [PATCH] debugger: use tempfile.NamedTemporaryFile instead of tempfile.mkstemp --- share/qtcreator/gdbmacros/dumper.py | 44 +++++++++++++---------------- 1 file changed, 19 insertions(+), 25 deletions(-) diff --git a/share/qtcreator/gdbmacros/dumper.py b/share/qtcreator/gdbmacros/dumper.py index 4b265c2eb27..3218dd67ef8 100644 --- a/share/qtcreator/gdbmacros/dumper.py +++ b/share/qtcreator/gdbmacros/dumper.py @@ -20,30 +20,24 @@ except: return ucs return '?' -# Fails on SimulatorQt. -try: - import os - def removeFile(name): - try: # files may still be locked by gdb on Windows - os.remove(filename) - except: - pass -except: - def removeFile(name): - pass - # Fails on SimulatorQt. try: import tempfile def createTempFile(): - file = tempfile.mkstemp(prefix="gdbpy_") - return file[1] + file = tempfile.NamedTemporaryFile(prefix="gdbpy_") + return file.name, file + + def removeTempFile(name, file): + file.close() + except: fileCounter = 0 def createTempFile(): fileCounter += 1 - return "gdbpy_tmp%d" % fileCounter + return "gdbpy_tmp%d" % fileCounter, None + def removeTempFile(name, file): + pass verbosity = 0 verbosity = 1 @@ -119,7 +113,7 @@ def parseAndEvaluate(exp): def catchCliOutput(command): - filename = createTempFile() + file, filename = createTempFile() gdb.execute("set logging off") gdb.execute("set logging redirect off") gdb.execute("set logging file %s" % filename) @@ -128,12 +122,12 @@ def catchCliOutput(command): gdb.execute(command) gdb.execute("set logging off") gdb.execute("set logging redirect off") - file = open(filename, "r") + temp = open(filename, "r") lines = [] - for line in file: + for line in temp: lines.append(line) - file.close() - removeFile(filename) + temp.close() + removeTempFile(filename, file) return lines @@ -292,7 +286,7 @@ def listOfLocals(varList): block = block.superblock else: # Assuming gdb 7.0 release or 6.8-symbianelf. - filename = createTempFile() + filename, file = createTempFile() #warn("VARLIST: %s " % varList) #warn("VARLIST: %s " % len(varList)) gdb.execute("set logging off") @@ -320,8 +314,8 @@ def listOfLocals(varList): gdb.execute("set logging off") gdb.execute("set logging redirect off") - file = open(filename, "r") - for line in file: + temp = open(filename, "r") + for line in temp: if len(line) == 0 or line.startswith(" "): continue # The function parameters @@ -329,8 +323,8 @@ def listOfLocals(varList): if pos < 0: continue varList.append(line[0:pos]) - file.close() - removeFile(filename) + temp.close() + removeTempFile(filename, file) #warn("VARLIST: %s " % varList) for name in varList: #warn("NAME %s " % name) -- GitLab