[Python-Dev] gdbinit problem
Neal Norwitz
nnorwitz at gmail.com
Mon Sep 5 05:30:43 CEST 2005
break in gdbinit is apparently does not break a loop, but rather sets
a break point. I don't know how to hit the break within lineno with a
simple test case. Debugging pychecker with a C extension (matplotlib)
triggers it.
The only way I could see to fix it was by setting a continue flag and
testing it. Does anyone know a better way to fix this problem? A
patch is attached which fixes the problem for me, but I would rather
check in a better solution if one exists.
Any ideas? Or should I just check in the attached patch.
n
--
more gory details.
after the patch, i get the expected results:
(gdb) pystack
./pychecker/checker.py (573): _initModule
./pychecker/checker.py (537): load
./pychecker/checker.py (517): addModule
./pychecker/checker.py (574): _initModule
./pychecker/checker.py (537): load
./pychecker/checker.py (517): addModule
./pychecker/checker.py (574): _initModule
./pychecker/checker.py (540): load
./pychecker/checker.py (668): processFiles
./pychecker/checker.py (721): main
./pychecker/checker.py (741): ?
before the patch, i get this:
(gdb) pystack
./pychecker/checker.py (Breakpoint 1 at 0x455372: file
Objects/typeobject.c, line 2012.
Breakpoint 2 at 0x455372: file Objects/typeobject.c, line 2012.
Breakpoint 3 at 0x455372: file Objects/typeobject.c, line 2012.
Breakpoint 4 at 0x455372: file Objects/typeobject.c, line 2012.
Breakpoint 5 at 0x455372: file Objects/typeobject.c, line 2012.
Breakpoint 6 at 0x455372: file Objects/typeobject.c, line 2012.
Breakpoint 7 at 0x455372: file Objects/typeobject.c, line 2012.
Breakpoint 8 at 0x455372: file Objects/typeobject.c, line 2012.
Breakpoint 9 at 0x455372: file Objects/typeobject.c, line 2012.
584): _initModule
./pychecker/checker.py (Breakpoint 10 at 0x455372: file
Objects/typeobject.c, line 2012.
Breakpoint 11 at 0x455372: file Objects/typeobject.c, line 2012.
Breakpoint 12 at 0x455372: file Objects/typeobject.c, line 2012.
Breakpoint 13 at 0x455372: file Objects/typeobject.c, line 2012.
Breakpoint 14 at 0x455372: file Objects/typeobject.c, line 2012.
Breakpoint 15 at 0x455372: file Objects/typeobject.c, line 2012.
Breakpoint 16 at 0x455372: file Objects/typeobject.c, line 2012.
Breakpoint 17 at 0x455372: file Objects/typeobject.c, line 2012.
545): load
./pychecker/checker.py (Breakpoint 18 at 0x455372: file
Objects/typeobject.c, line 2012.
Breakpoint 19 at 0x455372: file Objects/typeobject.c, line 2012.
Breakpoint 20 at 0x455372: file Objects/typeobject.c, line 2012.
Breakpoint 21 at 0x455372: file Objects/typeobject.c, line 2012.
521): addModule
./pychecker/checker.py (Breakpoint 22 at 0x455372: file
Objects/typeobject.c, line 2012.
Breakpoint 23 at 0x455372: file Objects/typeobject.c, line 2012.
---Type <return> to continue, or q <return> to quit---
Breakpoint 24 at 0x455372: file Objects/typeobject.c, line 2012.
Breakpoint 25 at 0x455372: file Objects/typeobject.c, line 2012.
Breakpoint 26 at 0x455372: file Objects/typeobject.c, line 2012.
Breakpoint 27 at 0x455372: file Objects/typeobject.c, line 2012.
Breakpoint 28 at 0x455372: file Objects/typeobject.c, line 2012.
Breakpoint 29 at 0x455372: file Objects/typeobject.c, line 2012.
584): _initModule
./pychecker/checker.py (Breakpoint 30 at 0x455372: file
Objects/typeobject.c, line 2012.
Breakpoint 31 at 0x455372: file Objects/typeobject.c, line 2012.
Breakpoint 32 at 0x455372: file Objects/typeobject.c, line 2012.
Breakpoint 33 at 0x455372: file Objects/typeobject.c, line 2012.
Breakpoint 34 at 0x455372: file Objects/typeobject.c, line 2012.
Breakpoint 35 at 0x455372: file Objects/typeobject.c, line 2012.
Breakpoint 36 at 0x455372: file Objects/typeobject.c, line 2012.
Breakpoint 37 at 0x455372: file Objects/typeobject.c, line 2012.
545): load
./pychecker/checker.py (Breakpoint 38 at 0x455372: file
Objects/typeobject.c, line 2012.
Breakpoint 39 at 0x455372: file Objects/typeobject.c, line 2012.
Breakpoint 40 at 0x455372: file Objects/typeobject.c, line 2012.
Breakpoint 41 at 0x455372: file Objects/typeobject.c, line 2012.
521): addModule
./pychecker/checker.py (Breakpoint 42 at 0x455372: file
Objects/typeobject.c, line 2012.
Breakpoint 43 at 0x455372: file Objects/typeobject.c, line 2012.
Breakpoint 44 at 0x455372: file Objects/typeobject.c, line 2012.
Breakpoint 45 at 0x455372: file Objects/typeobject.c, line 2012.
Breakpoint 46 at 0x455372: file Objects/typeobject.c, line 2012.
Breakpoint 47 at 0x455372: file Objects/typeobject.c, line 2012.
---Type <return> to continue, or q <return> to quit---
Breakpoint 48 at 0x455372: file Objects/typeobject.c, line 2012.
Breakpoint 49 at 0x455372: file Objects/typeobject.c, line 2012.
584): _initModule
./pychecker/checker.py (Breakpoint 50 at 0x455372: file
Objects/typeobject.c, line 2012.
Breakpoint 51 at 0x455372: file Objects/typeobject.c, line 2012.
Breakpoint 52 at 0x455372: file Objects/typeobject.c, line 2012.
Breakpoint 53 at 0x455372: file Objects/typeobject.c, line 2012.
Breakpoint 54 at 0x455372: file Objects/typeobject.c, line 2012.
Breakpoint 55 at 0x455372: file Objects/typeobject.c, line 2012.
545): load
./pychecker/checker.py (Breakpoint 56 at 0x455372: file
Objects/typeobject.c, line 2012.
Breakpoint 57 at 0x455372: file Objects/typeobject.c, line 2012.
Breakpoint 58 at 0x455372: file Objects/typeobject.c, line 2012.
Breakpoint 59 at 0x455372: file Objects/typeobject.c, line 2012.
671): processFiles
./pychecker/checker.py (Breakpoint 60 at 0x455372: file
Objects/typeobject.c, line 2012.
Breakpoint 61 at 0x455372: file Objects/typeobject.c, line 2012.
Breakpoint 62 at 0x455372: file Objects/typeobject.c, line 2012.
Breakpoint 63 at 0x455372: file Objects/typeobject.c, line 2012.
Breakpoint 64 at 0x455372: file Objects/typeobject.c, line 2012.
Breakpoint 65 at 0x455372: file Objects/typeobject.c, line 2012.
Breakpoint 66 at 0x455372: file Objects/typeobject.c, line 2012.
Breakpoint 67 at 0x455372: file Objects/typeobject.c, line 2012.
Breakpoint 68 at 0x455372: file Objects/typeobject.c, line 2012.
Breakpoint 69 at 0x455372: file Objects/typeobject.c, line 2012.
Breakpoint 70 at 0x455372: file Objects/typeobject.c, line 2012.
Breakpoint 71 at 0x455372: file Objects/typeobject.c, line 2012.
---Type <return> to continue, or q <return> to quit---
Breakpoint 72 at 0x455372: file Objects/typeobject.c, line 2012.
Breakpoint 73 at 0x455372: file Objects/typeobject.c, line 2012.
735): main
./pychecker/checker.py (Breakpoint 74 at 0x455372: file
Objects/typeobject.c, line 2012.
Breakpoint 75 at 0x455372: file Objects/typeobject.c, line 2012.
Breakpoint 76 at 0x455372: file Objects/typeobject.c, line 2012.
Breakpoint 77 at 0x455372: file Objects/typeobject.c, line 2012.
Breakpoint 78 at 0x455372: file Objects/typeobject.c, line 2012.
Breakpoint 79 at 0x455372: file Objects/typeobject.c, line 2012.
Breakpoint 80 at 0x455372: file Objects/typeobject.c, line 2012.
Breakpoint 81 at 0x455372: file Objects/typeobject.c, line 2012.
Breakpoint 82 at 0x455372: file Objects/typeobject.c, line 2012.
Breakpoint 83 at 0x455372: file Objects/typeobject.c, line 2012.
796): ?
-------------- next part --------------
A non-text attachment was scrubbed...
Name: gdbinit-patch
Type: application/octet-stream
Size: 986 bytes
Desc: not available
Url : http://mail.python.org/pipermail/python-dev/attachments/20050904/6a36f28c/gdbinit-patch-0001.obj
More information about the Python-Dev
mailing list