Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 410e840

Browse files
committed
add a little debugging support when new.code raises SystemError
1 parent ae3d792 commit 410e840

2 files changed

Lines changed: 42 additions & 10 deletions

File tree

Lib/compiler/pyassem.py

Lines changed: 21 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -140,11 +140,27 @@ def makeCodeObject(self):
140140
if self.flags & CO_VARKEYWORDS:
141141
self.argcount = self.argcount - 1
142142
stacksize = findDepth(self.insts)
143-
co = new.code(self.argcount, nlocals, stacksize,
144-
self.flags, lnotab.getCode(), self._getConsts(),
145-
tuple(self.names), tuple(self.varnames),
146-
self.filename, self.name, self.firstlineno,
147-
lnotab.getTable())
143+
try:
144+
co = new.code(self.argcount, nlocals, stacksize,
145+
self.flags, lnotab.getCode(), self._getConsts(),
146+
tuple(self.names), tuple(self.varnames),
147+
self.filename, self.name, self.firstlineno,
148+
lnotab.getTable())
149+
except SystemError, err:
150+
print err
151+
print repr(self.argcount)
152+
print repr(nlocals)
153+
print repr(stacksize)
154+
print repr(self.flags)
155+
print repr(lnotab.getCode())
156+
print repr(self._getConsts())
157+
print repr(self.names)
158+
print repr(self.varnames)
159+
print repr(self.filename)
160+
print repr(self.name)
161+
print repr(self.firstlineno)
162+
print repr(lnotab.getTable())
163+
raise
148164
return co
149165

150166
def _getConsts(self):

Tools/compiler/compiler/pyassem.py

Lines changed: 21 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -140,11 +140,27 @@ def makeCodeObject(self):
140140
if self.flags & CO_VARKEYWORDS:
141141
self.argcount = self.argcount - 1
142142
stacksize = findDepth(self.insts)
143-
co = new.code(self.argcount, nlocals, stacksize,
144-
self.flags, lnotab.getCode(), self._getConsts(),
145-
tuple(self.names), tuple(self.varnames),
146-
self.filename, self.name, self.firstlineno,
147-
lnotab.getTable())
143+
try:
144+
co = new.code(self.argcount, nlocals, stacksize,
145+
self.flags, lnotab.getCode(), self._getConsts(),
146+
tuple(self.names), tuple(self.varnames),
147+
self.filename, self.name, self.firstlineno,
148+
lnotab.getTable())
149+
except SystemError, err:
150+
print err
151+
print repr(self.argcount)
152+
print repr(nlocals)
153+
print repr(stacksize)
154+
print repr(self.flags)
155+
print repr(lnotab.getCode())
156+
print repr(self._getConsts())
157+
print repr(self.names)
158+
print repr(self.varnames)
159+
print repr(self.filename)
160+
print repr(self.name)
161+
print repr(self.firstlineno)
162+
print repr(lnotab.getTable())
163+
raise
148164
return co
149165

150166
def _getConsts(self):

0 commit comments

Comments
 (0)