使用pudb调试python】的更多相关文章

本博客主要用于讲解如何使用pudb进行python调试: 1.安装 sudo pip install pudb pip list查看安装结果: 2.使用 测试程序: #!/usr/bin/env python # -*- coding: utf-8 -*- from pudb import set_trace set_trace() def min(a,b): minValue = 0 if(a >= b): minValue = b else: minValue = a return minV…
1.如题: gdb可以调试python的pdb么? 答案:可以,实验如下. 2.实验: 生成一个a.py代码文件,代码如下: import pdb a = 1 print "111",apdb.set_trace()a = 2 print "222",a gdb python (gdb) b mainBreakpoint 1 at 0x400770: file ./Modules/python.c, line 23.(gdb) b exitFunction &quo…
sublime text 2 调试python时结果空白 之前用的时候都一切正常,今天突然就出现了这个问题.按ctrl+b执行的时候结果只有空白,查了很多文章都只提到了中文路径.系统路径等等,没有解决问题,直到看到了这篇文章:http://384444165.iteye.com/blog/1798107 文章中提到,Sublime Text 2  ctrl+b 如果出现运行为空白,按ctrl+`来显示错误,如果错误是UnicodeDecodeError: ‘ascii’ codec can’t…
pdb是python内置的调试工具, 它可以在终端中调试Python程序, 这允许pdb在很多无法安装IDE的服务器上使用. 虽然远程调试使用广泛, 但在必要的时候(比如难以在本地搭建运行环境)pdb仍然是一个便利的选择. 我们可以在python源代码中设置断点: import pdb def func(): for i in range(100): pdb.set_trace() # set breakpoint print(i) 随后执行源文件, pdb.set_trace()会如同一个断点…
使用gdb调试Python进程 有时我们会想调试一个正在运行的Python进程,或者一个Python进程的coredump.例如现在遇到一个mod_wsgi的进程僵死了,不接受请求,想看看究竟是运行到哪行Python代码呢?这时就需要祭出gdb了.   主要是三步: 1)确保你的gdb版本>=7 2)安装python-debuginfo包(如:python-debuginfo-2.6.6-29.el6_2.2.x86_64.rpm,这个版本号一定要跟你所用的python版本一致(可以rpm -q…
python pdb调试 python -m pdb myscript.py #注意这会重启myscript.py,这样启动的话,代码每一行都是一个节点 也可以在程序中这么设置断点: import pdb; pdb.set_trace()   支持的命令: p 打印变量 n next step 细点运行 c continue l list a args 打印当前函数的参数 condition bpnumber [condition] clear/disable/enable 清除/禁用/使能断点…
好久没有用Python了,居然忘记了怎么在Python IDLE中调试Python代码.百度了一下,然后还是写下来吧,以免以后又忘记了. 1. Set break point in the source file. 2. Show Python shell 3. Enable Debug 4. Run Module…
既然是调试python脚本,那么我首先想到的是附加到进程(python.exe) 至于为什么不用F5直接启动python脚本呢,因为调用命令如下 C:> python test.py < inputFile.txt 或许直接在脚本里open('inputFile.txt')不就完了么,当然可以这样,不过你这调试完了又得把代码修改回去,麻烦 如果要使用附加到进程,那么就最好让python脚本在你要调试的位置前面暂停一下,搜了一下大概的方法有: input() os.system('pause')…
更新于2018年10月: 首先去python官网下载python3  地址:https://www.python.org/downloads/windows/ 下载好后直接安装 记得勾选添加环境变量 安装好后现在就能编写python了 可以在cmd下输入python -v检查是否安装成功 现在你的电脑就能直接运行python了 随便新建一个文本文档输入 import os print("hello world") os.system("pause") 保存后将拓展名…
今天突然想写一写Python了,于是就开始弄.使用源码包安装好Python3.6.6之后,发现Linux下只能通过python3来调用python 3.6.6.如果直接使用python的话,调用的是系统默认安装的python 2.7.这样影响还算不大,但是在VS Code中调试Python的时候就出现问题了.因为VS Code无法识别python3.后来查了一些资料,一开始查到的是CodeProject上面的一篇博客,后来发现有点旧了,行不通了.然后在知乎上找到了一个答案: 直接配置launch…
调试Python有如下几种方式: 1 使用print语句 2 使用IDE的debuggers 3 使用命令行调试器pdb,这是Python的一个标准库,类似gdb 4 使用-i命令行选项.在使用命令行运行Python文件的时,可使用如下命令:python -i 文件名.py,这样就会进入交互模式,你可以打印查看变量…
转载自这里. (博主按:PDB调试python代码和用GDB调试c++代码很类似) 你有多少次陷入不得不更改别人代码的境地?如果你是一个开发团队的一员,那么你遇到上述境地的次数比你想要的还要多.然而,Python中有一个整洁的调试特性(像其他大多数语言一样),在这种情况下使用非常方便.本文是一篇快速教程,希望它能让你的编码生活更加容易. 1. 一个混乱的程序 出于本教程的目的,让我们研究一下下面的简单程序. 这个程序接收两个命令行参数,然后执行加法和减法操作. (假设用户输入的是有效值,因此代码…
一般开发者都是在 IDE 中进行程序的调试,当然,有 IDE 的话,当然首选 IDE 进行调试. 但是,有时我们的业务场景,限制只能在 Linux 命令行模式进行调试. 这时该怎么办呢? 今天,就给大家介绍一个 Linux 下调试 Python 程序的工具. pdb简介 pdb 调试器是 Python 标准库提供的,因此最为方便,不需要安装其他组件,直接 import 后就能使用. pdb 调试器提供了调试所需的大多数功能,如断点.单行步进.堆栈帧的检查等等. 常用命令 l # 查看运行到哪行代…
Python 2.6新增的multiprocessing,即多进程,给子进程代码调试有点困难,比如python自带的pdb如果直接在子进程代码里面启动会抛出一堆异常,原因是子进程的stdin/out/err等文件都已关闭,pdb无法调用.据闻winpdb.Wing IDE的调试器能够支持这样的远程调试,但似乎过于重量级(好吧前者比后者要轻多了,但一样要wxPython的环境,再说pdb的灵活可靠它们难以比拟). 其实只需稍作改动即可用pdb继续调试子进程的代码,思路来自这个博客:子进程的stdi…
程序能一次写完并正常运行的概率很小,基本不超过1%.总会有各种各样的bug需要修正.有的bug很简单,看看错误信息就知道,有的bug很复杂,我们需要知道出错时,哪些变量的值是正确的,哪些变量的值是错误的,因此,需要一整套调试程序的手段来修复bug. 第一种方法简单直接粗暴有效,就是用print把可能有问题的变量打印出来看看: ? 1 2 3 4 5 6 7 8 9 10 # err.py def foo(s):   n = int(s)   print '>>> n = %d' % n…
利用Pycharm断点调试Python程序 1.代码 准备没有语法错误的Python程序: #!/usr/bin/pythonimport numpy as np class Network: def __init__(self,sizes): self.num_layers=len(sizes) self.sizes=sizes self.biases=[np.random.randn(y,1) for y in sizes[1:]] self.weights=[np.random.randn…
pudb是pdb的升级版本 安装 pip3 install pudb 使用方法 在程序文件的开头导入包 from pudb import set_trace set_trace()#断点位置 运行的时候 python3 -m pudb.run pudbdemo.py 运行之后就会打开一个如下界面 界面 首先看最左边这个区域就是当前的代码区. 然后第一行显示命令 n : next,执行下一步: s : step into,进入函数内部: c : continue,循环中跳出本次循环: b : br…
pdb: 首先来说Python里内建的调试器,pdb.它利用一个简单的命令行界面,还有很多你在用调试器时用得上的功能.帮助系统能为你指出你能运行的命令,比如单步调试代码,操纵调用栈和设置断点. 一些它缺少的功能:按tab能让本地变量自动补全和让代码和栈追踪更好看的配色和布局. 不管你最后决定使用哪种调试器,pdb是值得你花时间了解它的,有两个原因:1)它在Python里总是可用的 2)很多其他的调试器的功能是pdb的超集,先学pdb能让你更快的学习其他的调试器. 总之,如果有更好的还是用别的调试…
这是一个我用于调试或分析工具概述,不一定是完整全面,如果你知道更好的工具,请在评论处标记. 日志 是的,的确,不得不强调足够的日志记录对应用程序是多么的重要.您应该记录重要的东西,如果你的记录足够好的话,你可以从日志中找出问题从而节省大量的时间. 如果你曾经用print语句来调试代码现在停下吧,用logging.debug替代,开始可以慢慢来,以后完全禁用它... 追踪有时看到程序如何被执行会很有帮助.你可以使用IDE的调试共轭ngn一步一步的运行程序,但你需要知道你要找的是什么,否则这将会是一…
第一步,确保装上了PYTHON扩展 然后打开文件夹(这个东西必须打开文件夹才能进行调试,不能打开一个文件就调试) 打开文件夹后,那里显示没有配置,这时需要你按下F5 弹出选择环境,点击Python 它会自动打开一个配置文件,默认就好 在文件浏览器打开你需要运行的文件 如果是UI程序的话就选择python Console程序的话就选择Python Console app 断点什么的我就不说了,这样就已经好了,按F5就可以开始了…
使用 pycharm 进行 python 代码远程调试 pycharm 的远程调试是从远程机器连接到本地机器,需要在远程机器的py文件中指定本地机器的IP和端口. 远程机器上,通过easy_install安装pycharm自带的pycharm-debug.egg(在pycharm的安装目录下). 如果是python3,使用pycharm-debug-py3k.egg. 将egg拷贝到远程机器上,安装. 在需要调试的py文件上,在开头处,导入调试工具 import pydevd pydevd.se…
Python自带的pdb库,发现用pdb来调试程序还是很方便的,当然了,什么远程调试,多线程之类,pdb是搞不定的. 用pdb调试有多种方式可选: 1. 命令行启动目标程序,加上-m参数,这样调用myscript.py的话断点就是程序的执行第一行之前 python -m pdb myscript.py 2. 在Python交互环境中启用调试 >>> import pdb >>> import mymodule >>> pdb.run(‘mymodule…
Python自带的pdb库,发现用pdb来调试程序还是很方便的,当然了,什么远程调试,多线程之类,pdb是搞不定的. 用pdb调试有多种方式可选: 1. 命令行启动目标程序,加上-m参数,这样调用myscript.py的话断点就是程序的执行第一行之前 python -m pdb myscript.py 2. 在Python交互环境中启用调试 >>> import pdb >>> import mymodule >>> pdb.run(‘mymodule…
一.概述 有时我们会想调试一个正在运行的Python进程,或者一个Python进程的coredump.例如现在遇到一个mod_wsgi的进程僵死了,不接受请求,想看看究竟是运行到哪行Python代码呢?这时就需要祭出gdb了. 主要是三步: 1)确保你的gdb版本>=7 2)安装python-debuginfo包(如:python-debuginfo-2.6.6-29.el6_2.2.x86_64.rpm,这个版本号一定要跟你所用的python版本一致(可以rpm -qa|grep python…
python自带的调试工具库:pdb # -*- coding:utf-8 -*- def func(num): s = num * 10 return s if __name__ == '__main__': print 'debug starting...' print '*' * 10 print 'debug ending-' num = 100 s = func(num) print s 在python文件里不引用pdb库,能够在运行python文件的时候,加上參数: python -…
1.安装 pip install ipdb 2.使用 python -m ipdb xxx.py 程序内部: from ipdb import set_trace set_trace() 3.常用命令 ENTER(重复上次命令) c(继续) l(查找当前位于哪里) s(进入子程序) r(运行直到子程序结束) !<python 命令> h(帮助) a(rgs) 打印当前函数的参数 j(ump) 让程序跳转到指定的行数 l(ist) 可以列出当前将要运行的代码块 n(ext) 让程序运行下一行,如…
| 版权:本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接.如有问题,可以邮件:wangxu198709@gmail.com 前言 相信很多人都有使用过sqlite3的经验,一年前因为项目上的需要,写了一个基于sqlite3的持久化队列库(persist-queue),已经发布在pypi上有段时间了. 前段时间,一下子来了两个issues,一个是关于in-memory database的support,一个是sqlite3 队列性能的问题.在…
gdb 版本 >7 的 对python调试有特别支持,参考: https://docs.python.org/devguide/gdb.html?highlight=gdb https://blog.csdn.net/BaishanCloud/article/details/76422782 可用命令有: py-btpy-list... 示例: centos7, default python2.7, 自自安装 python3.5,需要在gdb中加载3.5的 libpython.py,本机路径为…
2019-02-19,18点20vim调整颜色vim ~/.vimrc 这个pudb的配色用上的方法改不了.调试状态时候按o和回车能切换console和调试界面. 成功了.通过修改pudb源代码来实现的.方法:先find / -name pudb然后进入地址,把pudb文件夹中theme.py中所有magenta 都替换为light green .(修改为green不行,这里面不支持)注意每次修改后把pyche都删除了.否则修改无效…
调试(debug) 将可疑环节的变量逐步打印出来,从而检查哪里是否有错. 让程序一部分一部分地运行起来.从核心功能开始,写一点,运行一点,再修改一点. 利用工具,例如一些IDE中的调试功能,提高调试效率.   Python CMD python -m trace -t <py file> python -m dis <py file> 内置trace模块:打印所有执行的语句 内置dis模块:分析字节码   Linux   strace -p pid # 用系统命令跟踪系统调用 Py…