pdbtrack fails for subclasses
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
python-mode.el |
Fix Released
|
High
|
Andreas Roehler |
Bug Description
Hi I'm not sure if this is a python-mode or a pdbtrack issue (or how the two fit together), so if's pdbtrack could you please forward it to the pdbtrack author.
The problem is that interactive debugging stops working on subclasses. In the example below, there's a big in Cat.hello but tracking is lost. It's important because many people rely on the ability to step through subclass code and to edit the code instantly on error lines -- my debuigging time takes about 10 times as long without this ability!
[Animal.py]
class Animal:
def hello(self):
print "hello"
[Cat.py]
from Animal import *
class Cat(Animal):
def hello(self):
print "meow"
a=b/8
[main.py]
class Animal:
def hello(self):
print "hello"
Changed in python-mode: | |
assignee: | nobody → Andreas Roehler (a-roehler) |
status: | New → In Progress |
Changed in python-mode: | |
milestone: | none → 6.1 |
Changed in python-mode: | |
importance: | Undecided → Medium |
Changed in python-mode: | |
milestone: | 6.0.4 → 6.1 |
Changed in python-mode: | |
status: | Fix Committed → Fix Released |
On Jan 28, 2011, at 12:51 PM, <email address hidden> wrote:
>Hi I'm not sure if this is a python-mode or a pdbtrack issue (or how the two
>fit together), so if's pdbtrack could you please forward it to the pdbtrack
>author.
>
>The problem is that interactive debugging stops working on subclasses.
>In the example below, there's a big in Cat.hello but tracking is lost.
>It's important because many people rely on the ability to step through
>subclass code and to edit the code instantly on error lines -- my
>debuigging time takes about 10 times as long without this ability!
>
>[Animal.py]
>class Animal:
> def hello(self):
> print "hello"
>
>[Cat.py]
>from Animal import *
>class Cat(Animal):
> def hello(self):
> print "meow"
> a=b/8
>
>[main.py]
>class Animal:
> def hello(self):
> print "hello"
Sorry, I don't understand the example. You have two Animal classes, one in
main.py and one in Animal.py. Your Cat subclass is using the one from
Cat.py. It's not clear where your break point is.
Please provide more information so we can reproduce your problem. FWIW, I
trace through subclasses all the time.