add a little debugging support when new.code raises SystemError

This commit is contained in:
Jeremy Hylton 2000-02-15 21:59:50 +00:00
parent ae3d79208f
commit 410e840c85
2 changed files with 42 additions and 10 deletions

View File

@ -140,11 +140,27 @@ def makeCodeObject(self):
if self.flags & CO_VARKEYWORDS:
self.argcount = self.argcount - 1
stacksize = findDepth(self.insts)
co = new.code(self.argcount, nlocals, stacksize,
self.flags, lnotab.getCode(), self._getConsts(),
tuple(self.names), tuple(self.varnames),
self.filename, self.name, self.firstlineno,
lnotab.getTable())
try:
co = new.code(self.argcount, nlocals, stacksize,
self.flags, lnotab.getCode(), self._getConsts(),
tuple(self.names), tuple(self.varnames),
self.filename, self.name, self.firstlineno,
lnotab.getTable())
except SystemError, err:
print err
print repr(self.argcount)
print repr(nlocals)
print repr(stacksize)
print repr(self.flags)
print repr(lnotab.getCode())
print repr(self._getConsts())
print repr(self.names)
print repr(self.varnames)
print repr(self.filename)
print repr(self.name)
print repr(self.firstlineno)
print repr(lnotab.getTable())
raise
return co
def _getConsts(self):

View File

@ -140,11 +140,27 @@ def makeCodeObject(self):
if self.flags & CO_VARKEYWORDS:
self.argcount = self.argcount - 1
stacksize = findDepth(self.insts)
co = new.code(self.argcount, nlocals, stacksize,
self.flags, lnotab.getCode(), self._getConsts(),
tuple(self.names), tuple(self.varnames),
self.filename, self.name, self.firstlineno,
lnotab.getTable())
try:
co = new.code(self.argcount, nlocals, stacksize,
self.flags, lnotab.getCode(), self._getConsts(),
tuple(self.names), tuple(self.varnames),
self.filename, self.name, self.firstlineno,
lnotab.getTable())
except SystemError, err:
print err
print repr(self.argcount)
print repr(nlocals)
print repr(stacksize)
print repr(self.flags)
print repr(lnotab.getCode())
print repr(self._getConsts())
print repr(self.names)
print repr(self.varnames)
print repr(self.filename)
print repr(self.name)
print repr(self.firstlineno)
print repr(lnotab.getTable())
raise
return co
def _getConsts(self):