The step command of pdb is broken

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|

The step command of pdb is broken

Xavier de Gaye-2
Issue http://bugs.python.org/issue13183 raises the point that the step
command of pdb is broken. This issue is 6 months old. A patch and test
case have been proposed. The 'Lifecycle of a Patch' at
http://docs.python.org/devguide/patch.html says
<quote>
If your patch has not received any notice from reviewers (i.e., no
comment made) after a substantial amount of time then you may email
[hidden email] asking for someone to take a look at your patch.
</quote>
I am the author of pyclewn, a Vim front end to pdb and gdb, and I
would be grateful for any progress on this issue.

The following pdb session shows the problem when running the three
modules main.py, foo.py and bar.py. After the second step command, pdb
does not stop (as it should) at lines foo.py:5 and foo.py:6, nor does
it stop to print the return value of increment().
=================================================
main.py
     1  import foo
     2
     3  result = foo.increment(100)
     4  print('result', result)
foo.py
     1  import bar
     2
     3  def increment(arg):
     4      v =  bar.value()
     5      result = arg + v
     6      return result
bar.py
     1  def value():
     2      return 5
=================================================
$ python -m pdb main.py
> /path_to/main.py(1)<module>()
-> import foo
(Pdb) import sys; sys.version
'3.3.0a2+ (default:2c27093fd11f, Apr 30 2012, 10:51:35) \n[GCC 4.3.2]'
(Pdb) break bar.py:2
Breakpoint 1 at /path_to/bar.py:2
(Pdb) continue
> /path_to/bar.py(2)value()
-> return 5
(Pdb) step
--Return--
> /path_to/bar.py(2)value()->5
-> return 5
(Pdb) step
> /path_to/main.py(4)<module>()
-> print('result', result)
(Pdb)
=================================================


Xavier
_______________________________________________
Python-Dev mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: http://mail.python.org/mailman/options/python-dev/lists%2B1324100855712-1801473%40n6.nabble.com
Reply | Threaded
Open this post in threaded view
|

Re: The step command of pdb is broken

Guido van Rossum
IT would be good if the author of one of the pdb add-ons such as (I
believe) pdb2 could comment on this bug.

On Mon, Apr 30, 2012 at 3:31 AM, Xavier de Gaye <[hidden email]> wrote:

> Issue http://bugs.python.org/issue13183 raises the point that the step
> command of pdb is broken. This issue is 6 months old. A patch and test
> case have been proposed. The 'Lifecycle of a Patch' at
> http://docs.python.org/devguide/patch.html says
> <quote>
> If your patch has not received any notice from reviewers (i.e., no
> comment made) after a substantial amount of time then you may email
> [hidden email] asking for someone to take a look at your patch.
> </quote>
> I am the author of pyclewn, a Vim front end to pdb and gdb, and I
> would be grateful for any progress on this issue.
>
> The following pdb session shows the problem when running the three
> modules main.py, foo.py and bar.py. After the second step command, pdb
> does not stop (as it should) at lines foo.py:5 and foo.py:6, nor does
> it stop to print the return value of increment().
> =================================================
> main.py
>     1  import foo
>     2
>     3  result = foo.increment(100)
>     4  print('result', result)
> foo.py
>     1  import bar
>     2
>     3  def increment(arg):
>     4      v =  bar.value()
>     5      result = arg + v
>     6      return result
> bar.py
>     1  def value():
>     2      return 5
> =================================================
> $ python -m pdb main.py
>> /path_to/main.py(1)<module>()
> -> import foo
> (Pdb) import sys; sys.version
> '3.3.0a2+ (default:2c27093fd11f, Apr 30 2012, 10:51:35) \n[GCC 4.3.2]'
> (Pdb) break bar.py:2
> Breakpoint 1 at /path_to/bar.py:2
> (Pdb) continue
>> /path_to/bar.py(2)value()
> -> return 5
> (Pdb) step
> --Return--
>> /path_to/bar.py(2)value()->5
> -> return 5
> (Pdb) step
>> /path_to/main.py(4)<module>()
> -> print('result', result)
> (Pdb)
> =================================================
>
>
> Xavier
> _______________________________________________
> Python-Dev mailing list
> [hidden email]
> http://mail.python.org/mailman/listinfo/python-dev
> Unsubscribe: http://mail.python.org/mailman/options/python-dev/guido%40python.org



--
--Guido van Rossum (python.org/~guido)
_______________________________________________
Python-Dev mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: http://mail.python.org/mailman/options/python-dev/lists%2B1324100855712-1801473%40n6.nabble.com
Reply | Threaded
Open this post in threaded view
|

Re: The step command of pdb is broken

Barry Warsaw
On Apr 30, 2012, at 08:42 AM, Guido van Rossum wrote:

>IT would be good if the author of one of the pdb add-ons such as (I
>believe) pdb2 could comment on this bug.

Maybe we should take this opportunity (Python 3.3) to consider adopting one of
the pdb add-ons or borging the best of their bits into the stdlib?

-Barry
_______________________________________________
Python-Dev mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: http://mail.python.org/mailman/options/python-dev/lists%2B1324100855712-1801473%40n6.nabble.com
Reply | Threaded
Open this post in threaded view
|

Re: The step command of pdb is broken

Guido van Rossum
On Mon, Apr 30, 2012 at 9:09 AM, Barry Warsaw <[hidden email]> wrote:
> On Apr 30, 2012, at 08:42 AM, Guido van Rossum wrote:
>
>>IT would be good if the author of one of the pdb add-ons such as (I
>>believe) pdb2 could comment on this bug.
>
> Maybe we should take this opportunity (Python 3.3) to consider adopting one of
> the pdb add-ons or borging the best of their bits into the stdlib?

I thought we already took most of the useful bits of one of these...
(Admitted I'm vague on details and haven't the time to research.)

--
--Guido van Rossum (python.org/~guido)
_______________________________________________
Python-Dev mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: http://mail.python.org/mailman/options/python-dev/lists%2B1324100855712-1801473%40n6.nabble.com
Reply | Threaded
Open this post in threaded view
|

Re: The step command of pdb is broken

Senthil Kumaran-7
In reply to this post by Barry Warsaw
On Mon, Apr 30, 2012 at 12:09:02PM -0400, Barry Warsaw wrote:
> Maybe we should take this opportunity (Python 3.3) to consider adopting one of
> the pdb add-ons or borging the best of their bits into the stdlib?

Irrespective of this - Issue13183 seems to be an easy to verify bug in
3.2 and 3.3. I think, it would most visible if you were to use a full
screen debugger and you will notice that the return call indicator has
jumped to the next statement (skipping return) when returning. I
guess, that's why Xavier (pyclewn author) noted it.  The fix seems
fine too.

I have just requested an additional info and this particular one could
be fixed.

Thanks,
Senthil

_______________________________________________
Python-Dev mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: http://mail.python.org/mailman/options/python-dev/lists%2B1324100855712-1801473%40n6.nabble.com
Reply | Threaded
Open this post in threaded view
|

Re: The step command of pdb is broken

Guido van Rossum
Senthil, if you can shepherd this patch to completion that would be great!

On Mon, Apr 30, 2012 at 9:57 AM, Senthil Kumaran <[hidden email]> wrote:

> On Mon, Apr 30, 2012 at 12:09:02PM -0400, Barry Warsaw wrote:
>> Maybe we should take this opportunity (Python 3.3) to consider adopting one of
>> the pdb add-ons or borging the best of their bits into the stdlib?
>
> Irrespective of this - Issue13183 seems to be an easy to verify bug in
> 3.2 and 3.3. I think, it would most visible if you were to use a full
> screen debugger and you will notice that the return call indicator has
> jumped to the next statement (skipping return) when returning. I
> guess, that's why Xavier (pyclewn author) noted it.  The fix seems
> fine too.
>
> I have just requested an additional info and this particular one could
> be fixed.
>
> Thanks,
> Senthil
>
> _______________________________________________
> Python-Dev mailing list
> [hidden email]
> http://mail.python.org/mailman/listinfo/python-dev
> Unsubscribe: http://mail.python.org/mailman/options/python-dev/guido%40python.org



--
--Guido van Rossum (python.org/~guido)
_______________________________________________
Python-Dev mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: http://mail.python.org/mailman/options/python-dev/lists%2B1324100855712-1801473%40n6.nabble.com
Reply | Threaded
Open this post in threaded view
|

Re: The step command of pdb is broken

Xavier de Gaye-2
In reply to this post by Senthil Kumaran-7
On Mon, Apr 30, 2012 at 6:57 PM, Senthil Kumaran wrote:
> Irrespective of this - Issue13183 seems to be an easy to verify bug in
> 3.2 and 3.3. I think, it would most visible if you were to use a full
> screen debugger and you will notice that the return call indicator has
> jumped to the next statement (skipping return) when returning. I
> guess, that's why Xavier (pyclewn author) noted it.  The fix seems
> fine too.
>
> I have just requested an additional info and this particular one could
> be fixed.


Thanks for your help on this issue Senthil.

Xavier
_______________________________________________
Python-Dev mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: http://mail.python.org/mailman/options/python-dev/lists%2B1324100855712-1801473%40n6.nabble.com
Reply | Threaded
Open this post in threaded view
|

Re: The step command of pdb is broken

"Martin v. Löwis"
In reply to this post by Barry Warsaw
On 30.04.2012 18:09, Barry Warsaw wrote:
> On Apr 30, 2012, at 08:42 AM, Guido van Rossum wrote:
>
>> IT would be good if the author of one of the pdb add-ons such as (I
>> believe) pdb2 could comment on this bug.
>
> Maybe we should take this opportunity (Python 3.3) to consider adopting one of
> the pdb add-ons or borging the best of their bits into the stdlib?

I think the same policies should apply that I want to see followed for
any other inclusion into the stdlib: we shouldn't "adopt" any code that
is not explicitly contributed, by it's author.

That's not only the legal issues, but also the responsibility for the
code. Otherwise, we end up with code that still nobody owns, and the
out-of-core version still gets better support.

Regards,
Martin

_______________________________________________
Python-Dev mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: http://mail.python.org/mailman/options/python-dev/lists%2B1324100855712-1801473%40n6.nabble.com