Closed GoogleCodeExporter closed 9 years ago
Here's info on the line number table found in code objects:
http://svn.python.org/view/python/trunk/Objects/lnotab_notes.txt?view=markup
Original comment by dwhall...@gmail.com
on 26 Jul 2010 at 7:21
r526
Size before:
main.elf :
section size addr
.text 46988 0
.rodata 4236 46988
.rodata.str1.1 69 51224
.rodata.str1.4 136 51296
.data 2232 2097152
.bss 12812 2099384
Original comment by dwhall...@gmail.com
on 26 Jul 2010 at 9:18
Created HAVE_DEBUG_INFO definition in pmfeatures.h and pmImgCreator.py to
select this feature. Created 3 new fields in the CO struct: firstlineno,
lnotab, filename. Cleaned pmImgCreator.py and dismantle.py a little. Had to
update some unit tests since the CodeImage format changed. The big changes are
in plat_reportError(): added filename and exception name lookup tables; use the
new line number table (lnotab) to calculate the line number for the traceback;
printing filename for each frame on the traceback.
Original comment by dwhall...@gmail.com
on 2 Aug 2010 at 3:02
r538 is the new before (I just mainlined Issue #109)
Size before:
main.elf :
section size addr
.text 47188 0
.rodata 4400 47188
.rodata.str1.1 69 51588
.rodata.str1.4 136 51660
.data 2236 2097152
.bss 12812 2099388
Original comment by dwhall...@gmail.com
on 3 Aug 2010 at 3:46
After fixing #109, this works like a charm:
ipm> def foo():
def bar(n):
return n * 2 / 0
bar(6)
ipm> foo()
Traceback (most recent call first):
File "<ipm>", line 3, in bar
File "<ipm>", line 4, in foo
File "<ipm>", line 1, in <ipm>
File "../lib/ipm.py", line 91, in ipm
File "main.py", line 19, in main
<module>.
ZeroDivisionError detected by interp.c:349
Original comment by dwhall...@gmail.com
on 3 Aug 2010 at 7:18
Added UNIT tests to ut_codeobj.c to test the co_filename and co_lnotab are
non-null and that co_firstlineno is not 0xAAAA. The heap is fill with 0xAA to
detect errors when __DEBUG__ is true.
Also added new code images for the different cases of HAVE_CLOSURE and
HAVE_DEBUG_INFO.
Original comment by dwhall...@gmail.com
on 3 Aug 2010 at 7:20
r549
Mainlined directly
Original comment by dwhall...@gmail.com
on 4 Aug 2010 at 1:56
r550
- Removed extraneous print from plat_reportError()
Post mainline checkin.
Original comment by dwhall...@gmail.com
on 4 Aug 2010 at 3:48
r551:
- Included and tested these improvement on the PIC. All tests pass.
- Updated Makefile (long out of date) to build for the PIC
- Updated docs and included some missing files, fixed most Doxygen complaints.
Original comment by bjones460@gmail.com
on 4 Aug 2010 at 3:49
r553
- Removed extraneous print from plat_reportError() in pic24/plat.c
Post mainline checkin.
Original comment by dwhall...@gmail.com
on 4 Aug 2010 at 4:11
Original issue reported on code.google.com by
dwhall...@gmail.com
on 26 Jul 2010 at 5:28