forked from qt-creator/qt-creator
debugger: use tempfile.NamedTemporaryFile instead of tempfile.mkstemp
This commit is contained in:
@@ -20,30 +20,24 @@ except:
|
|||||||
return ucs
|
return ucs
|
||||||
return '?'
|
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.
|
# Fails on SimulatorQt.
|
||||||
try:
|
try:
|
||||||
import tempfile
|
import tempfile
|
||||||
def createTempFile():
|
def createTempFile():
|
||||||
file = tempfile.mkstemp(prefix="gdbpy_")
|
file = tempfile.NamedTemporaryFile(prefix="gdbpy_")
|
||||||
return file[1]
|
return file.name, file
|
||||||
|
|
||||||
|
def removeTempFile(name, file):
|
||||||
|
file.close()
|
||||||
|
|
||||||
except:
|
except:
|
||||||
fileCounter = 0
|
fileCounter = 0
|
||||||
def createTempFile():
|
def createTempFile():
|
||||||
fileCounter += 1
|
fileCounter += 1
|
||||||
return "gdbpy_tmp%d" % fileCounter
|
return "gdbpy_tmp%d" % fileCounter, None
|
||||||
|
|
||||||
|
def removeTempFile(name, file):
|
||||||
|
pass
|
||||||
|
|
||||||
verbosity = 0
|
verbosity = 0
|
||||||
verbosity = 1
|
verbosity = 1
|
||||||
@@ -119,7 +113,7 @@ def parseAndEvaluate(exp):
|
|||||||
|
|
||||||
|
|
||||||
def catchCliOutput(command):
|
def catchCliOutput(command):
|
||||||
filename = createTempFile()
|
file, filename = createTempFile()
|
||||||
gdb.execute("set logging off")
|
gdb.execute("set logging off")
|
||||||
gdb.execute("set logging redirect off")
|
gdb.execute("set logging redirect off")
|
||||||
gdb.execute("set logging file %s" % filename)
|
gdb.execute("set logging file %s" % filename)
|
||||||
@@ -128,12 +122,12 @@ def catchCliOutput(command):
|
|||||||
gdb.execute(command)
|
gdb.execute(command)
|
||||||
gdb.execute("set logging off")
|
gdb.execute("set logging off")
|
||||||
gdb.execute("set logging redirect off")
|
gdb.execute("set logging redirect off")
|
||||||
file = open(filename, "r")
|
temp = open(filename, "r")
|
||||||
lines = []
|
lines = []
|
||||||
for line in file:
|
for line in temp:
|
||||||
lines.append(line)
|
lines.append(line)
|
||||||
file.close()
|
temp.close()
|
||||||
removeFile(filename)
|
removeTempFile(filename, file)
|
||||||
return lines
|
return lines
|
||||||
|
|
||||||
|
|
||||||
@@ -292,7 +286,7 @@ def listOfLocals(varList):
|
|||||||
block = block.superblock
|
block = block.superblock
|
||||||
else:
|
else:
|
||||||
# Assuming gdb 7.0 release or 6.8-symbianelf.
|
# Assuming gdb 7.0 release or 6.8-symbianelf.
|
||||||
filename = createTempFile()
|
filename, file = createTempFile()
|
||||||
#warn("VARLIST: %s " % varList)
|
#warn("VARLIST: %s " % varList)
|
||||||
#warn("VARLIST: %s " % len(varList))
|
#warn("VARLIST: %s " % len(varList))
|
||||||
gdb.execute("set logging off")
|
gdb.execute("set logging off")
|
||||||
@@ -320,8 +314,8 @@ def listOfLocals(varList):
|
|||||||
gdb.execute("set logging off")
|
gdb.execute("set logging off")
|
||||||
gdb.execute("set logging redirect off")
|
gdb.execute("set logging redirect off")
|
||||||
|
|
||||||
file = open(filename, "r")
|
temp = open(filename, "r")
|
||||||
for line in file:
|
for line in temp:
|
||||||
if len(line) == 0 or line.startswith(" "):
|
if len(line) == 0 or line.startswith(" "):
|
||||||
continue
|
continue
|
||||||
# The function parameters
|
# The function parameters
|
||||||
@@ -329,8 +323,8 @@ def listOfLocals(varList):
|
|||||||
if pos < 0:
|
if pos < 0:
|
||||||
continue
|
continue
|
||||||
varList.append(line[0:pos])
|
varList.append(line[0:pos])
|
||||||
file.close()
|
temp.close()
|
||||||
removeFile(filename)
|
removeTempFile(filename, file)
|
||||||
#warn("VARLIST: %s " % varList)
|
#warn("VARLIST: %s " % varList)
|
||||||
for name in varList:
|
for name in varList:
|
||||||
#warn("NAME %s " % name)
|
#warn("NAME %s " % name)
|
||||||
|
|||||||
Reference in New Issue
Block a user