Python论坛  - 讨论区

标题:[python-chinese] 各位大大,平常都是怎么调试Python程序的?

2005年09月22日 星期四 13:30

szricky szricky at gmail.com
Thu Sep 22 13:30:11 HKT 2005

各位好~!

    请教一下,各位是怎么调试Python的? Python能够单步调试、断点调试么? 

    帖子里,关于调试的问题和讨论都很少啊~~

    我觉得不管是什么语言,调试程序总是有很多方法~~,大家讨论讨论,如何? 

    另外:我在WinXP下,用 eclipse 写python , 不能单步调试,各位是怎么做的?有什么经验可以介绍一点么? 


谢谢~~~!!
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20050922/22ee50c9/attachment.htm

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2005年09月22日 星期四 13:33

limodou limodou at gmail.com
Thu Sep 22 13:33:12 HKT 2005

在 05-9-22,szricky<szricky at gmail.com> 写道:
>
> 各位好~!
>
>     请教一下,各位是怎么调试Python的? Python能够单步调试、断点调试么?
>
>     帖子里,关于调试的问题和讨论都很少啊~~
>
>     我觉得不管是什么语言,调试程序总是有很多方法~~,大家讨论讨论,如何?
>
>     另外:我在WinXP下,用 eclipse 写python , 不能单步调试,各位是怎么做的?有什么经验可以介绍一点么?
>
>

使用Python自带的pdb可以调试,但调试的方式不是太好。其它的可以用来调试的,就我所知有:

pythonwin
boa
eric
komodo(商业)
WingIDE(商业)
winpdb
pydev(eclipse的插件)

这些都应该支持单步断点吧。

不过说过实话我都没用过,自从开发Python以后,就没有用过这种方式,都是采用print+log的方式调试的,方法笨了些。

--
I like python!
My Donews Blog: http://www.donews.net/limodou

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2005年09月22日 星期四 13:44

Zoom Quiet zoom.quiet at gmail.com
Thu Sep 22 13:44:57 HKT 2005

在 05-9-22,limodou<limodou at gmail.com> 写道:
> 在 05-9-22,szricky<szricky at gmail.com> 写道:
> >
> > 各位好~!
> >
> >     请教一下,各位是怎么调试Python的? Python能够单步调试、断点调试么?
> >
> >     帖子里,关于调试的问题和讨论都很少啊~~
> >
> >     我觉得不管是什么语言,调试程序总是有很多方法~~,大家讨论讨论,如何?
> >
> >     另外:我在WinXP下,用 eclipse 写python , 不能单步调试,各位是怎么做的?有什么经验可以介绍一点么?
> >
> >
>
> 使用Python自带的pdb可以调试,但调试的方式不是太好。其它的可以用来调试的,就我所知有:
>
> pythonwin
> boa
> eric
> komodo(商业)
> WingIDE(商业)
> winpdb
> pydev(eclipse的插件)
>
> 这些都应该支持单步断点吧。
>
> 不过说过实话我都没用过,自从开发Python以后,就没有用过这种方式,都是采用print+log的方式调试的,方法笨了些。
>

断点 debug ??? 对于Python 这样的动态脚本语言有必要嘛?
你可以在任何地方,任何时候中断,并dir() id() type()  等等内置函式来查看对象信息,
好的程序是不需要调试的,
简单就是美,如果程序复杂到你自个儿阅读代码不甚明了时,说明已经失败了…………

看一看 TDD 的开发哲学吧!


--
[Time is unimportant, only life important!]

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2005年09月22日 星期四 14:01

szricky szricky at gmail.com
Thu Sep 22 14:01:53 HKT 2005

> 断点 debug ??? 对于Python 这样的动态脚本语言有必要嘛?
> 你可以在任何地方,任何时候中断,并dir() id() type()  等等内置函式来查看对象信息,
> 好的程序是不需要调试的,
> 简单就是美,如果程序复杂到你自个儿阅读代码不甚明了时,说明已经失败了…………
> 看一看 TDD 的开发哲学吧!

不是很赞同 Zoom 大大的观点 。 :-) 

比如:我是想理解 BT 的程序,所以要阅读别人的大部分代码,所以想知道一些调试的方法而已..

Zoom 大大的观点,是建立在所有代码都是自己写的情况下吧~~~ ,我个人以为... 

当然我的Python水平实在很低,用C/C++很多,python 很少...

另:TDD 的开发哲学是什么? 我确实不了解,给个链接好么? 谢谢了~~  :)



----- Original Message ----- 
From: "Zoom Quiet" <zoom.quiet at gmail.com>
To: "limodou" <limodou at gmail.com>; <python-chinese at lists.python.cn>
Sent: Thursday, September 22, 2005 1:44 PM
Subject: Re: [python-chinese] 各位大大,平常都是怎么调试Python程序的?


>在 05-9-22,limodou<limodou at gmail.com> 写道:
>> 在 05-9-22,szricky<szricky at gmail.com> 写道:
>> >
>> > 各位好~!
>> >
>> >     请教一下,各位是怎么调试Python的? Python能够单步调试、断点调试么?
>> >
>> >     帖子里,关于调试的问题和讨论都很少啊~~
>> >
>> >     我觉得不管是什么语言,调试程序总是有很多方法~~,大家讨论讨论,如何?
>> >
>> >     另外:我在WinXP下,用 eclipse 写python , 不能单步调试,各位是怎么做的?有什么经验可以介绍一点么?
>> >
>> >
>>
>> 使用Python自带的pdb可以调试,但调试的方式不是太好。其它的可以用来调试的,就我所知有:
>>
>> pythonwin
>> boa
>> eric
>> komodo(商业)
>> WingIDE(商业)
>> winpdb
>> pydev(eclipse的插件)
>>
>> 这些都应该支持单步断点吧。
>>
>> 不过说过实话我都没用过,自从开发Python以后,就没有用过这种方式,都是采用print+log的方式调试的,方法笨了些。
>>
> 
> 断点 debug ??? 对于Python 这样的动态脚本语言有必要嘛?
> 你可以在任何地方,任何时候中断,并dir() id() type()  等等内置函式来查看对象信息,
> 好的程序是不需要调试的,
> 简单就是美,如果程序复杂到你自个儿阅读代码不甚明了时,说明已经失败了…………
> 
> 看一看 TDD 的开发哲学吧!
> 
> 
> --
> [Time is unimportant, only life important!]
>


--------------------------------------------------------------------------------


> _______________________________________________
> python-chinese list
> python-chinese at lists.python.cn
> http://python.cn/mailman/listinfo/python-chinese
>

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2005年09月22日 星期四 14:04

wang fei linuxbbs at 163.com
Thu Sep 22 14:04:22 HKT 2005

Zoom Quiet wrote:
> 在 05-9-22,limodou<limodou at gmail.com> 写道:
>   
>> 在 05-9-22,szricky<szricky at gmail.com> 写道:
>>     
>>> 各位好~!
>>>
>>>     请教一下,各位是怎么调试Python的? Python能够单步调试、断点调试么?
>>>
>>>     帖子里,关于调试的问题和讨论都很少啊~~
>>>
>>>     我觉得不管是什么语言,调试程序总是有很多方法~~,大家讨论讨论,如何?
>>>
>>>     另外:我在WinXP下,用 eclipse 写python , 不能单步调试,各位是怎么做的?有什么经验可以介绍一点么?
>>>
>>>
>>>       
>> 使用Python自带的pdb可以调试,但调试的方式不是太好。其它的可以用来调试的,就我所知有:
>>
>> pythonwin
>> boa
>> eric
>> komodo(商业)
>> WingIDE(商业)
>> winpdb
>> pydev(eclipse的插件)
>>
>> 这些都应该支持单步断点吧。
>>
>> 不过说过实话我都没用过,自从开发Python以后,就没有用过这种方式,都是采用print+log的方式调试的,方法笨了些。
>>
>>     
>
> 断点 debug ??? 对于Python 这样的动态脚本语言有必要嘛?
> 你可以在任何地方,任何时候中断,并dir() id() type()  等等内置函式来查看对象信息,
> 好的程序是不需要调试的,
> 简单就是美,如果程序复杂到你自个儿阅读代码不甚明了时,说明已经失败了…………
>
> 看一看 TDD 的开发哲学吧!
>
>
> --
> [Time is unimportant, only life important!]
>   
> ------------------------------------------------------------------------
>
> _______________________________________________
> python-chinese list
> python-chinese at lists.python.cn
> http://python.cn/mailman/listinfo/python-chinese
>   
TDD是指?相关资料在哪里?


[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2005年09月22日 星期四 14:21

xlp223 myhat123 at gmail.com
Thu Sep 22 14:21:21 HKT 2005

我记得在eclipse里有个python插件pydev,它是带调试器的,可以试试。

2005/9/22, wang fei <linuxbbs at 163.com>:
> Zoom Quiet wrote:
> > 在 05-9-22,limodou<limodou at gmail.com> 写道:
> >
> >> 在 05-9-22,szricky<szricky at gmail.com> 写道:
> >>
> >>> 各位好~!
> >>>
> >>>     请教一下,各位是怎么调试Python的? Python能够单步调试、断点调试么?
> >>>
> >>>     帖子里,关于调试的问题和讨论都很少啊~~
> >>>
> >>>     我觉得不管是什么语言,调试程序总是有很多方法~~,大家讨论讨论,如何?
> >>>
> >>>     另外:我在WinXP下,用 eclipse 写python , 不能单步调试,各位是怎么做的?有什么经验可以介绍一点么?
> >>>
> >>>
> >>>
> >> 使用Python自带的pdb可以调试,但调试的方式不是太好。其它的可以用来调试的,就我所知有:
> >>
> >> pythonwin
> >> boa
> >> eric
> >> komodo(商业)
> >> WingIDE(商业)
> >> winpdb
> >> pydev(eclipse的插件)
> >>
> >> 这些都应该支持单步断点吧。
> >>
> >> 不过说过实话我都没用过,自从开发Python以后,就没有用过这种方式,都是采用print+log的方式调试的,方法笨了些。
> >>
> >>
> >
> > 断点 debug ??? 对于Python 这样的动态脚本语言有必要嘛?
> > 你可以在任何地方,任何时候中断,并dir() id() type()  等等内置函式来查看对象信息,
> > 好的程序是不需要调试的,
> > 简单就是美,如果程序复杂到你自个儿阅读代码不甚明了时,说明已经失败了…………
> >
> > 看一看 TDD 的开发哲学吧!
> >
> >
> > --
> > [Time is unimportant, only life important!]
> >
> > ------------------------------------------------------------------------
> >
> > _______________________________________________
> > python-chinese list
> > python-chinese at lists.python.cn
> > http://python.cn/mailman/listinfo/python-chinese
> >
> TDD是指?相关资料在哪里?
>
> _______________________________________________
> python-chinese list
> python-chinese at lists.python.cn
> http://python.cn/mailman/listinfo/python-chinese
>


--
我的blog:http://xlp223.yculblog.com

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2005年09月22日 星期四 14:26

Qiangning Hong hongqn at gmail.com
Thu Sep 22 14:26:48 HKT 2005

wang fei wrote:
> TDD是指?相关资料在哪里?

TDD: Test-Driven Development

资料可以google到,很多

-- 
Qiangning Hong
http://www.hn.org/hongqn (RSS: http://feeds.feedburner.com/hongqn)

Registered Linux User #396996
Get Firefox! <http://www.spreadfirefox.com/?q=affiliates&id;=67907&t;=1>
Thunderbird! <http://www.spreadfirefox.com/?q=affiliates&id;=67907&t;=183>

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2005年09月22日 星期四 14:42

szricky szricky at gmail.com
Thu Sep 22 14:42:28 HKT 2005

调试Python 总结:

    一句话,用 print 就好~~ , 对否?  呵呵

----- Original Message ----- 
From: "Qiangning Hong" <hongqn at gmail.com>
To: <python-chinese at lists.python.cn>
Sent: Thursday, September 22, 2005 2:26 PM
Subject: Re: [python-chinese] 各位大大,平常都是怎么调试Python程序的?


> wang fei wrote:
>> TDD是指?相关资料在哪里?
> 
> TDD: Test-Driven Development
> 
> 资料可以google到,很多
> 
> -- 
> Qiangning Hong
> http://www.hn.org/hongqn (RSS: http://feeds.feedburner.com/hongqn)
> 
> Registered Linux User #396996
> Get Firefox! <http://www.spreadfirefox.com/?q=affiliates&id;=67907&t;=1>
> Thunderbird! <http://www.spreadfirefox.com/?q=affiliates&id;=67907&t;=183>
> _______________________________________________
> python-chinese list
> python-chinese at lists.python.cn
> http://python.cn/mailman/listinfo/python-chinese

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2005年09月22日 星期四 14:49

Qiangning Hong hongqn at gmail.com
Thu Sep 22 14:49:29 HKT 2005

szricky wrote:
> 调试Python 总结:
> 
>     一句话,用 print 就好~~ , 对否?  呵呵

简单程序print/logging就足够了
复杂的程序可以用pdb或者其他GUI的调试工具

-- 
Qiangning Hong
http://www.hn.org/hongqn (RSS: http://feeds.feedburner.com/hongqn)

Registered Linux User #396996
Get Firefox! <http://www.spreadfirefox.com/?q=affiliates&id;=67907&t;=1>
Thunderbird! <http://www.spreadfirefox.com/?q=affiliates&id;=67907&t;=183>

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2005年09月22日 星期四 15:00

Zoom Quiet zoom.quiet at gmail.com
Thu Sep 22 15:00:29 HKT 2005

2005/9/22, Qiangning Hong <hongqn at gmail.com>:
> szricky wrote:
> > 调试Python 总结:
> >
> >     一句话,用 print 就好~~ , 对否?  呵呵
>
> 简单程序print/logging就足够了
> 复杂的程序可以用pdb或者其他GUI的调试工具
>
> --
是也乎!个人体会而已,因为在下还没有遇到非要进行单步调试的情况…………

嗬嗬


--
[Time is unimportant, only life important!]

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2005年09月22日 星期四 15:09

limodou limodou at gmail.com
Thu Sep 22 15:09:32 HKT 2005

在 05-9-22,szricky<szricky at gmail.com> 写道:
> > 断点 debug ??? 对于Python 这样的动态脚本语言有必要嘛?
> > 你可以在任何地方,任何时候中断,并dir() id() type()  等等内置函式来查看对象信息,
> > 好的程序是不需要调试的,
> > 简单就是美,如果程序复杂到你自个儿阅读代码不甚明了时,说明已经失败了…………
> > 看一看 TDD 的开发哲学吧!
>
> 不是很赞同 Zoom 大大的观点 。 :-)
>
> 比如:我是想理解 BT 的程序,所以要阅读别人的大部分代码,所以想知道一些调试的方法而已..
>
> Zoom 大大的观点,是建立在所有代码都是自己写的情况下吧~~~ ,我个人以为...
>
> 当然我的Python水平实在很低,用C/C++很多,python 很少...
>
> 另:TDD 的开发哲学是什么? 我确实不了解,给个链接好么? 谢谢了~~  :)
>

别人的程序你依然可以加print显示呀。

--
I like python!
My Donews Blog: http://www.donews.net/limodou

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2005年09月22日 星期四 15:54

Gerald Lee leejd80 at gmail.com
Thu Sep 22 15:54:02 HKT 2005

在05-9-22,szricky <szricky at gmail.com> 写道:
>
> 各位好~!
>   请教一下,各位是怎么调试Python的? Python能够单步调试、断点调试么?
>   帖子里,关于调试的问题和讨论都很少啊~~
>   我觉得不管是什么语言,调试程序总是有很多方法~~,大家讨论讨论,如何?
>   另外:我在WinXP下,用 eclipse 写python , 不能单步调试,各位是怎么做的?有什么经验可以介绍一点么?
>   谢谢~~~!!
>
> _______________________________________________
> python-chinese list
> python-chinese at lists.python.cn
> http://python.cn/mailman/listinfo/python-chinese
>
>
>

反正我的经验就是,调试程序尽量试用日志方式,单步和断点只能对一些简单的单线程程序有效,别的调试起来狠累的

--
My Blog >> http://leejd.cndev.org
My QQ >> 9847243
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20050922/67b64758/attachment.htm

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2005年09月22日 星期四 16:12

szricky szricky at gmail.com
Thu Sep 22 16:12:09 HKT 2005

受教了~~ ,呵呵~~


  ----- Original Message ----- 
  From: Gerald Lee 
  To: python-chinese at lists.python.cn 
  Sent: Thursday, September 22, 2005 3:54 PM
  Subject: Re: [python-chinese] 各位大大,平常都是怎么调试Python程序的?





  在05-9-22,szricky <szricky at gmail.com> 写道:
    各位好~!

        请教一下,各位是怎么调试Python的? Python能够单步调试、断点调试么? 

        帖子里,关于调试的问题和讨论都很少啊~~

        我觉得不管是什么语言,调试程序总是有很多方法~~,大家讨论讨论,如何? 

        另外:我在WinXP下,用 eclipse 写python , 不能单步调试,各位是怎么做的?有什么经验可以介绍一点么? 


    谢谢~~~!!

    _______________________________________________
    python-chinese list
    python-chinese at lists.python.cn
    http://python.cn/mailman/listinfo/python-chinese





  反正我的经验就是,调试程序尽量试用日志方式,单步和断点只能对一些简单的单线程程序有效,别的调试起来狠累的

  -- 
  My Blog >> http://leejd.cndev.org
  My QQ >> 9847243 


------------------------------------------------------------------------------


  _______________________________________________
  python-chinese list
  python-chinese at lists.python.cn
  http://python.cn/mailman/listinfo/python-chinese
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20050922/d8727b11/attachment.html

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2005年09月22日 星期四 16:32

Lee DYER lee.dyer at gmail.com
Thu Sep 22 16:32:44 HKT 2005

在05-9-22,szricky <szricky at gmail.com> 写道:
>
> 各位好~!
>   请教一下,各位是怎么调试Python的? Python能够单步调试、断点调试么?
>   我是用pythonwin的,可以单步,断点调试啊
>  原来我是用python自带的ide调试的,也是可以设断点调试的
>



>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20050922/8397f493/attachment.htm

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2005年09月22日 星期四 17:07

Leo Jay python.leojay at gmail.com
Thu Sep 22 17:07:53 HKT 2005

呵呵。你可以试试再说呀。

别人的代码,如果你有哪里看不懂的话,你也可以试着把看不明白的地方放几个print呀。看看中间变量的值应该就可以了解每一行代码都在做什么了。

用单步debug的方式有一个很大的缺点,调试的速度很慢,远不如打印出来来得方便。
如果平时习惯了用单步debug,要转过来真的很不容易,但是,如果你转过来了,那就恭喜你了。你的调试速度比以前上了一个台阶。:)

就算我用VC,VB这些比较强大的IDE的时候我也是以输出调试为主,单步debug为辅。debug起来方便了很多,用print的话输出的数据都在文件里,想往上看就往上看,想往下看就往下看,单步debug的话,只能看到当前的数据,之前的数据就都没了。

建议你试试。:)

On 9/22/05, szricky <szricky at gmail.com> wrote:
>
> 不是很赞同 Zoom 大大的观点 。 :-)
>
> 比如:我是想理解 BT 的程序,所以要阅读别人的大部分代码,所以想知道一些调试的方法而已..
>
> Zoom 大大的观点,是建立在所有代码都是自己写的情况下吧~~~ ,我个人以为...
>
> 当然我的Python水平实在很低,用C/C++很多,python 很少...
>
> 另:TDD 的开发哲学是什么? 我确实不了解,给个链接好么? 谢谢了~~  :)
>
>
>
> ----- Original Message -----
> From: "Zoom Quiet" <zoom.quiet at gmail.com>
> To: "limodou" <limodou at gmail.com>; <python-chinese at lists.python.cn>
> Sent: Thursday, September 22, 2005 1:44 PM
> Subject: Re: [python-chinese] 各位大大,平常都是怎么调试Python程序的?
>
>
> >在 05-9-22,limodou<limodou at gmail.com> 写道:
> >> 在 05-9-22,szricky<szricky at gmail.com> 写道:
> >> >
> >> > 各位好~!
> >> >
> >> >     请教一下,各位是怎么调试Python的? Python能够单步调试、断点调试么?
> >> >
> >> >     帖子里,关于调试的问题和讨论都很少啊~~
> >> >
> >> >     我觉得不管是什么语言,调试程序总是有很多方法~~,大家讨论讨论,如何?
> >> >
> >> >     另外:我在WinXP下,用 eclipse 写python , 不能单步调试,各位是怎么做的?有什么经验可以介绍一点么?
> >> >
> >> >
> >>
> >> 使用Python自带的pdb可以调试,但调试的方式不是太好。其它的可以用来调试的,就我所知有:
> >>
> >> pythonwin
> >> boa
> >> eric
> >> komodo(商业)
> >> WingIDE(商业)
> >> winpdb
> >> pydev(eclipse的插件)
> >>
> >> 这些都应该支持单步断点吧。
> >>
> >> 不过说过实话我都没用过,自从开发Python以后,就没有用过这种方式,都是采用print+log的方式调试的,方法笨了些。
> >>
> >
> > 断点 debug ??? 对于Python 这样的动态脚本语言有必要嘛?
> > 你可以在任何地方,任何时候中断,并dir() id() type()  等等内置函式来查看对象信息,
> > 好的程序是不需要调试的,
> > 简单就是美,如果程序复杂到你自个儿阅读代码不甚明了时,说明已经失败了…………
> >
> > 看一看 TDD 的开发哲学吧!
> >
> >
> > --
> > [Time is unimportant, only life important!]
> >
>
>
> --------------------------------------------------------------------------------
>
>
> > _______________________________________________
> > python-chinese list
> > python-chinese at lists.python.cn
> > http://python.cn/mailman/listinfo/python-chinese
> >
> _______________________________________________
> python-chinese list
> python-chinese at lists.python.cn
> http://python.cn/mailman/listinfo/python-chinese
>
>
>


--
Best Regards,
Leo Jay

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2005年09月22日 星期四 17:27

张骏 zhangj at foreseen-info.com
Thu Sep 22 17:27:35 HKT 2005

可是你有没有想到DEBUG的时候,我想看哪个变量的值就看哪个变量,但是print的时候,除非你把他们全打出来,
而且如果是二进制数据,你还得好好考虑一下打印的格式呢。

所以,单步调试也是有必要的。

不过,我还真的没在python下用单步调试,一般都是直接print或者log了,呵呵。
如果python能有一个像vs那样的ide的话,我想我会经常使用单步调试的。

想使用单步调试的朋友可以试试winpdb,还不错。不过只能调试断点下的那个py文件。

----------------------- Original Message -----------------------
From:    Leo Jay <python.leojay at gmail.com>
To:      python-chinese at lists.python.cn
Date:    Thu, 22 Sep 2005 17:07:53 +0800
Subject: Re: [python-chinese] 各位大大,平常都是怎么调试Python程序的?
----------------------------------------------------------------
> 呵呵。你可以试试再说呀。
> 
> 别人的代码,如果你有哪里看不懂的话,你也可以试着把看不明白的地方放几个print呀。看看中间变量的值应该就可以了解每一行代码都在做什么了。
> 
> 用单步debug的方式有一个很大的缺点,调试的速度很慢,远不如打印出来来得方便。
> 如果平时习惯了用单步debug,要转过来真的很不容易,但是,如果你转过来了,那就恭喜你了。你的调试速度比以前上了一个台阶。:)
> 
> 就算我用VC,VB这些比较强大的IDE的时候我也是以输出调试为主,单步debug为辅。debug起来方便了很多,用print的话输出的数据都在文件里,想往上看就往上看,想往下看就往下看,单步debug的话,只能看到当前的数据,之前的数据就都没了。
> 
> 建议你试试。:)
> 
> On 9/22/05, szricky <szricky at gmail.com> wrote:
> >
> > 不是很赞同 Zoom 大大的观点 。 :-)
> >
> > 比如:我是想理解 BT 的程序,所以要阅读别人的大部分代码,所以想知道一些调试的方法而已..
> >
> > Zoom 大大的观点,是建立在所有代码都是自己写的情况下吧~~~ ,我个人以为...
> >
> > 当然我的Python水平实在很低,用C/C++很多,python 很少...
> >
> > 另:TDD 的开发哲学是什么? 我确实不了解,给个链接好么? 谢谢了~~  :)
> >
> >
> >
> > ----- Original Message -----
> > From: "Zoom Quiet" <zoom.quiet at gmail.com>
> > To: "limodou" <limodou at gmail.com>; <python-chinese at lists.python.cn>
> > Sent: Thursday, September 22, 2005 1:44 PM
> > Subject: Re: [python-chinese] 各位大大,平常都是怎么调试Python程序的?
> >
> >
> > >在 05-9-22,limodou<limodou at gmail.com> 写道:
> > >> 在 05-9-22,szricky<szricky at gmail.com> 写道:
> > >> >
> > >> > 各位好~!
> > >> >
> > >> >     请教一下,各位是怎么调试Python的? Python能够单步调试、断点调试么?
> > >> >
> > >> >     帖子里,关于调试的问题和讨论都很少啊~~
> > >> >
> > >> >     我觉得不管是什么语言,调试程序总是有很多方法~~,大家讨论讨论,如何?
> > >> >
> > >> >     另外:我在WinXP下,用 eclipse 写python , 不能单步调试,各位是怎么做的?有什么经验可以介绍一点么?
> > >> >
> > >> >
> > >>
> > >> 使用Python自带的pdb可以调试,但调试的方式不是太好。其它的可以用来调试的,就我所知有:
> > >>
> > >> pythonwin
> > >> boa
> > >> eric
> > >> komodo(商业)
> > >> WingIDE(商业)
> > >> winpdb
> > >> pydev(eclipse的插件)
> > >>
> > >> 这些都应该支持单步断点吧。
> > >>
> > >> 不过说过实话我都没用过,自从开发Python以后,就没有用过这种方式,都是采用print+log的方式调试的,方法笨了些。
> > >>
> > >
> > > 断点 debug ??? 对于Python 这样的动态脚本语言有必要嘛?
> > > 你可以在任何地方,任何时候中断,并dir() id() type()  等等内置函式来查看对象信息,
> > > 好的程序是不需要调试的,
> > > 简单就是美,如果程序复杂到你自个儿阅读代码不甚明了时,说明已经失败了…………
> > >
> > > 看一看 TDD 的开发哲学吧!
> > >
> > >
> > > --
> > > [Time is unimportant, only life important!]
> > >
> >
> >
> > --------------------------------------------------------------------------------
> >
> >
> > > _______________________________________________
> > > python-chinese list
> > > python-chinese at lists.python.cn
> > > http://python.cn/mailman/listinfo/python-chinese
> > >
> > _______________________________________________
> > python-chinese list
> > python-chinese at lists.python.cn
> > http://python.cn/mailman/listinfo/python-chinese
> >
> >
> >
> 
> 
> --
> Best Regards,
> Leo Jay

--------------------- Original Message Ends --------------------


[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2005年09月22日 星期四 18:16

Leo Jay python.leojay at gmail.com
Thu Sep 22 18:16:50 HKT 2005

你误会我了,我没说完全不要单步呀。我说我是以输出调试为主,以单步debug为辅。一般我只有在发现某一段程序的行为很奇怪,用print实在看不明白的时候才会考虑用单步。

而且大多数时候你并不用看所有的变量呀。比方说,一个函数,你把传入的参数输出一下,再把返回的值输出一下,发现有问题了再把函数关键的中间结果输出一下,很少需要从头到尾看所有的变量,这样太慢了。

在一些多线程,或是递归等等逻辑很复杂,程序跳来跳去的时候,单步会晕的,都不知道自己到哪了。呵呵。

On 9/22/05, 张骏 <zhangj at foreseen-info.com> wrote:
> 可是你有没有想到DEBUG的时候,我想看哪个变量的值就看哪个变量,但是print的时候,除非你把他们全打出来,
> 而且如果是二进制数据,你还得好好考虑一下打印的格式呢。
>
> 所以,单步调试也是有必要的。
>
> 不过,我还真的没在python下用单步调试,一般都是直接print或者log了,呵呵。
> 如果python能有一个像vs那样的ide的话,我想我会经常使用单步调试的。
>
> 想使用单步调试的朋友可以试试winpdb,还不错。不过只能调试断点下的那个py文件。
>


--
Best Regards,
Leo Jay

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2005年09月23日 星期五 04:15

saddle saddle at gmail.com
Fri Sep 23 04:15:10 HKT 2005

推荐大家看看这个, 觉得用ipython做交互式的调试挺不错。用了几天了。
http://www.oreillynet.com/pub/a/python/2005/09/01/debugger.html
在 05-9-22,Leo Jay<python.leojay at gmail.com> 写道:
> 你误会我了,我没说完全不要单步呀。我说我是以输出调试为主,以单步debug为辅。一般我只有在发现某一段程序的行为很奇怪,用print实在看不明白的时候才会考虑用单步。
>
> 而且大多数时候你并不用看所有的变量呀。比方说,一个函数,你把传入的参数输出一下,再把返回的值输出一下,发现有问题了再把函数关键的中间结果输出一下,很少需要从头到尾看所有的变量,这样太慢了。
>
> 在一些多线程,或是递归等等逻辑很复杂,程序跳来跳去的时候,单步会晕的,都不知道自己到哪了。呵呵。
>
> On 9/22/05, 张骏 <zhangj at foreseen-info.com> wrote:
> > 可是你有没有想到DEBUG的时候,我想看哪个变量的值就看哪个变量,但是print的时候,除非你把他们全打出来,
> > 而且如果是二进制数据,你还得好好考虑一下打印的格式呢。
> >
> > 所以,单步调试也是有必要的。
> >
> > 不过,我还真的没在python下用单步调试,一般都是直接print或者log了,呵呵。
> > 如果python能有一个像vs那样的ide的话,我想我会经常使用单步调试的。
> >
> > 想使用单步调试的朋友可以试试winpdb,还不错。不过只能调试断点下的那个py文件。
> >
>
>
> --
> Best Regards,
> Leo Jay
>
> _______________________________________________
> python-chinese list
> python-chinese at lists.python.cn
> http://python.cn/mailman/listinfo/python-chinese
>
>
>

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2005年09月23日 星期五 08:31

Scorpio Auding auding at gmail.com
Fri Sep 23 08:31:57 HKT 2005

我现在用VC开发,嵌入式的,不能调试,只能依靠Log文件……
呵呵,日子还是一样过的。

--
Welcom2 : http//blog.csdn.net/auding1900/
Email : auding at gmail.com
MSN : auding at 163.net
QQ : 13732100
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20050923/e54d603f/attachment.htm

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2005年09月23日 星期五 12:00

刘国栋 liuguodong at gmail.com
Fri Sep 23 12:00:53 HKT 2005

作了很多,java
b/s项目,那种环境下端点调试几乎是不可能的,尽管一些工具也提供了断点调试,但是对计算机要求太高,而且效率很低,对于调试我是这样理解的,还是多看堆栈信息,大多数语言和工具给出的堆栈信息还是比较明确的,可以很容易的找出出错的地方,而且效率也高。

2005/9/23, Scorpio Auding <auding at gmail.com>:
>
> 我现在用VC开发,嵌入式的,不能调试,只能依靠Log文件……
> 呵呵,日子还是一样过的。
>
> --
> Welcom2 : http//blog.csdn.net/auding1900/
> Email : auding at gmail.com
> MSN : auding at 163.net
> QQ : 13732100
> _______________________________________________
> python-chinese list
> python-chinese at lists.python.cn
> http://python.cn/mailman/listinfo/python-chinese
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20050923/0b0b5ba9/attachment.html

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2005年09月23日 星期五 13:05

马踏飞燕 honeyday.mj at gmail.com
Fri Sep 23 13:05:32 HKT 2005

在 05-9-23,刘国栋<liuguodong at gmail.com> 写道:
> 作了很多,java
> b/s项目,那种环境下端点调试几乎是不可能的,尽管一些工具也提供了断点调试,但是对计算机要求太高,而且效率很低,对于调试我是这样理解的,还是多看堆栈信息,大多数语言和工具给出的堆栈信息还是比较明确的,可以很容易的找出出错的地方,而且效率也高。

这种方法需要有较多的经验才行。
否则一个简单的NullPointerException就足够让初学者不知所措了,呵呵。

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

如下红色区域有误,请重新填写。

    你的回复:

    请 登录 后回复。还没有在Zeuux哲思注册吗?现在 注册 !

    Zeuux © 2025

    京ICP备05028076号