URN Logo
UNIX Resources » Linux » China Linux Forum » Python 编 程 » 6 » 请教一个pdb的问题!
announcement 声明: 本页内容为中国Linux论坛的内容镜像,文章的版权以及其他所有的相关权利属于中国Linux论坛和相应文章的作者,如果转载,请注明文章来源及相关版权信息。
Resources
China Linux Forum(finished)
Linux Forum(finished)
FreeBSD China(finished)
linuxforum.net
  业界新闻与评论
  自由软件杂谈
  IT 人生
  Linux软件快递
  翻译作坊
  Linux图书与评论
  GNU Emacs/XEmacs
  Linux 中文环境和中文化
  Linux桌面与办公软件
  Linux 多媒体与娱乐版
  自由之窗Mozilla
  笔记本电脑上的Linux
  Gentoo
  Debian 一族
  网络管理技术
  Linux 安装与入门
  WEB服务器和FTP服务器
  域名服务器和邮件服务器
  Linux防火墙和代理服务器应用
  文件及打印服务器
  技术培训与认证
  Linux内核技术
  Linux 嵌入技术
  Linux设备驱动程序
  Linux 集群技术
  LINUX平台数据库
  系统和网络安全
  CPU 与 编译器
  系统计算研究所专栏
  Linux下的GUI软件开发
  C/C++编程版
  PHP 技 术
  Java&jsp技术
  Shell编程技术
  Perl 编 程
  Python 编 程
  XML/Web Service 技术
  永远的Unix
  FreeBSD世界
   
请教一个pdb的问题!
请教一个pdb的问题! - zjbdamo [2005-10-14 15:01 | 287 byte(s)]
 
Re: 请教一个pdb的问题! - passworld [2005-10-14 18:31 | 305 byte(s)]
 
Re: 请教一个pdb的问题! - zjbdamo [2005-10-17 10:31 | 774 byte(s)]
 
Re: 请教一个pdb的问题! - passworld [2005-10-17 11:34 | 126 byte(s)]
 
Re: 请教一个pdb的问题! - passworld [2005-10-17 12:02 | 215 byte(s)]
 
Subject: 请教一个pdb的问题!
Author: zjbdamo    Posted: 2005-10-14 15:01    Length: 287 byte(s)
[Original] [Print] [Top]
有个问题不明白,希望能得到前辈们的指点,谢谢!
1,使用pdb时怎么改变一个在调试代码的变量值?我试了一下!变量得值没被改变。
如果不能改变变量的值,pm()和post_mortem(t)有什么用?如果仅是为了看stack.
一般说来出问题的时候解析器已经给出了问题现场的stack了。
[Original] [Print] [Top]
Subject: Re: 请教一个pdb的问题!
Author: passworld    Posted: 2005-10-14 18:31    Length: 305 byte(s)
[Original] [Print] [Top]
应该可以改变,你怎么试的?你要是在 exception 发生以后再改值,那是没什么意义的,程序最多是重起,是不可能跳回 exception 以前再继续跑的。你要想改值,把你的断点设在 exception 发生以前。

pm 不但可以看 backtrace,还可以看具体变量值,让你知道当时大家都在什么状态。


----
[Original] [Print] [Top]
Subject: Re: 请教一个pdb的问题!
Author: zjbdamo    Posted: 2005-10-17 10:31    Length: 774 byte(s)
[Original] [Print] [Top]
我的测试代码test.py
#!/usr/bin/env python

def run1():
print '++++++++++'
print '__________'
print '=========='
print '@@@@@@@@@@'

def echo(arg):
print arg
print "hello2"
for i in range(0,5,1):
print i

def main():
run1()
echo("hello")

if __name__ == '__main__':
main()

启动python解释器后执行
import pdb
import test
pdb.runcall(test.main)
然后当代码运行到
for i in range(0,5,1):
print i
循环的时候我想改变i的值,于是
!i=3
可是i的值并没有改变。
[Original] [Print] [Top]
Subject: Re: 请教一个pdb的问题!
Author: passworld    Posted: 2005-10-17 11:34    Length: 126 byte(s)
[Original] [Print] [Top]
这似乎是一个bug,!statement 可以改变全局变量,但是不会改变本地变量。你给他们回报一个bug 报告吧。


----
[Original] [Print] [Top]
Subject: Re: 请教一个pdb的问题!
Author: passworld    Posted: 2005-10-17 12:02    Length: 215 byte(s)
[Original] [Print] [Top]
http://mail.python.org/pipermail/python-list/2004-September/241145.html
----
[Original] [Print] [Top]
« Previous thread
Q:如何给中英文混合的一篇文章在指定列数换行?
Python 编 程
6
Next thread »
请问这个错误提示什么意思
     

Copyright © 2007 UNIX Resources Network, All Rights Reserved.      About URN | Privacy & Legal | Help | Contact us
备案序号: 京ICP备05006143    webmaster: webmaster@unixresources.net
This page created on 2008-07-17 04:11:01, cost 0.05054497718811 ms.