Python论坛  - 讨论区

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

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

Lv Terry-r65388 TerryLv at freescale.com
Thu Sep 22 17:23:28 HKT 2005

  这不见得吧
 VC中,单步debug的用处还是很大的,比如我要知道某块内存被哪个函数代码的内存操作覆盖了,那么看函数栈是很有必要的,不清楚什么时机会出错的话,就只有单步看了~~
  如果print的语句会被频繁调用,那么可能上千条log的输出量,看起来也蛮麻烦的~~

  在我的工作中,还是单步为主的~~而且单步跟有时会发现一些别的问题,对程序的理解也会上台阶~~

-----Original Message-----
From: python-chinese-bounces at lists.python.cn [mailto:python-chinese-bounces at lists.python.cn] On Behalf Of Leo Jay
Sent: 2005年9月22日 17:08
To: python-chinese at lists.python.cn
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

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

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

Wang Kebo mep_ at 163.com
Thu Sep 22 17:32:25 HKT 2005

Lv Terry-r65388 wrote:
>   这不见得吧
>  VC中,单步debug的用处还是很大的,比如我要知道某块内存被哪个函数代码的内存
操作覆盖了,那么看函数栈是很有必要的,不清楚什么时机会出错的话,就只有单步看
了~~
>   如果print的语句会被频繁调用,那么可能上千条log的输出量,看起来也蛮麻烦的
~~
> 
>   在我的工作中,还是单步为主的~~而且单步跟有时会发现一些别的问题,对程序的
理解也会上台阶~~

调试方法还要看程序环境和个人习惯。。。
我经常需要调试多级多线程的服务器,必须使用线程安全输出的方式;
至于log输出较多的问题,采用log分级+配置文件的办法加以克服。

__
Best Regards,

Kebo Wang

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

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

Kai kai0001 at 163.com
Thu Sep 22 18:31:09 HKT 2005

各位好!

	大家觉得用python写一个类似Tom围棋(或联众)的开源系统,是一个学习python编程的好的项目吗?这个系统将涉及GUI(客户端)、Server(网络编程)等许多方面。

	我喜欢围棋(水平差极了),虽然已经有十几年的编程经验(C++/Java等),但是python新手。请大家多多帮助。不知到现在有没有已经开发或正在开发的开源的python围棋系统?

	有兴趣的同学,我们大家可以组成一个团队,一起做这个项目。

Kai





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

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

    你的回复:

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

    Zeuux © 2025

    京ICP备05028076号