【Python pdb调试】教程文章相关的互联网学习教程文章

python – 如何自动启动/调试大型项目?【代码】

场景: 有一个复杂的软件很难手动启动.我所做的是创建一个python脚本来启动可执行文件并附加gdb进行调试. 流程启动脚本: >确保设置环境变量.>确保将本地构建目录添加到环境的LD_LIBRARY_PATH变量中.>将当前工作目录更改为可执行文件期望的位置(不是我的设计)>使用配置文件启动可执行文件唯一的命令行选项>将可执行文件的输出传递给第二个日志记录进程>记住可执行文件的PID,然后启动&将gdb附加到正在运行的可执行文件 该脚本有效,但...

我如何步骤使用python调试器来打破每个函数调用?【代码】

我想密切监视从某个函数调用的函数调用链.import pdb; pdb.set_trace() res = api.InsertVideoEntry(video_entry, video)我正在寻找一种方法来轻松看到api.insertVideoEntry(video_entry,video)调用foo()调用调用baz()的bar(), 这是一个非常粗略的图表来显示我的意思.我不需要这种形式,但这是我正在寻找的那种信息.api.insertVideoEntry()foo()bar()baz()baz2()log()finish()解决方法:这是一个有趣的学习经历.也许你可以使用这里显...

Python并行执行 – 如何有效地调试?【代码】

下面是一个Python问题,演示了如何使用multiprocessing.Pool并行迭代函数func.是要迭代的Np个元素数.函数func只返回Np减去iterable的索引.如图所示,当以并行模式运行时,我使用队列来返回函数中的值. 如果我设置runParallel = False,程序可以在串行模式下执行. 程序运行正常,对于runParallel = False和runParallel = True,但现在出现了我的基本问题:如下所示,如果将problemIndex设置为比Np低一点(例如problemIndex = 7),那么我做一个...

Python App Engine调试/开发模式【代码】

我正在开发一个App Engine项目(Python),我们希望在调试/开发时(通常是本地)对应用程序的行为进行某些更改.例如,在调试时,我们要禁用我们的速率限制装饰器,打开WSGIApplication中的调试参数,可能会添加一些断言. 据我所知,App Engine自然没有全局开发模式或调试模式的概念,所以我想知道如何最好地实现这样的模式.到目前为止我能够提出的选项: >使用google.appengine.api.app_identity.get_default_version_hostname()获取主机名并检...

python – 升级到PyCharm 2016.2后调试器中的BlockingSwitchOutError【代码】

从PyCharm 2016.1.4升级到2016.2后,当运行调试器并设置任何断点时,PyCharm会在我没有设置断点的各个地方停止,并将其记录到stderr:Traceback (most recent call last):File "/usr/local/pycharm/debug-eggs/pycharm-debug.egg/_pydevd_bundle/pydevd_frame.py", line 539, in trace_dispatchself.do_wait_suspend(thread, frame, event, arg)File "/usr/local/pycharm/debug-eggs/pycharm-debug.egg/_pydevd_bundle/pydevd_frame.p...

调试睡衣python代码【代码】

我正在使用睡衣来开发网页.我编写python代码,由睡衣翻译为javascript.这样,只有在测试网页时才会捕获调试编程错误.如果我们可以在编译为javascript之前首先在Python解释器中运行代码,效率会更高.这似乎需要安装睡衣 – 桌面.我尝试安装睡衣 – 桌面,但对我来说并不简单,我无法成功安装睡衣 – 桌面. 我想知道是否有任何方式运行代码只是检查错误,即我不想看到弹出窗口小部件.但只是在解释器中运行,以便捕获导入程序中使用的模块时丢...

python – Flask调试不能在Anaconda下工作【代码】

我正在使用Flask在标准开发环境中工作,并且无法使调试工作. 只是使用标准的Hello World,出现如下错误:from flask import Flask app = Flask(__name__)@app.route("/") def hello():errreturn "Hello World!"if __name__ == "__main__":app.run(debug=True)我的应用程序中断,但没有动态调试,我收到以下错误消息:If you enable JavaScript you can also use additional features such as code execution (if the evalex feature i...

使用Python中的调试器捕获segfault【代码】

我想调试一个经常被卡住的Python程序. 基本上,我的程序运行一个接受SOAP请求的spyne-server.我的程序是多线程的,有时候,我用来达到超时的客户端. 我尝试了几个调试器,如PUDB,PDB,WINPDB,PYSTUCK,但我无法捕捉到它们的任何异常,实际上它们碰巧也被卡住了(CTRL C不起作用……) 我所取得的最好成绩来自GDB,命令如下:gdb -ex r --args python myscript.pyGDB设法捕获异常,但不显示任何有用的信息:Program received signal SIGSEGV, S...

python – 有没有办法使用Pycharm调试在终端中运行的脚本?【代码】

我想知道,如果有可能的话.我在命令行中使用特殊运行器运行我的脚本.所以命令看起来像:runner.exe /path to scripts/有没有人知道我是否可以在脚本中设置一些断点,在Pycharm终端中使用上面的命令执行我的跑步者并实际调试一步一步? 任何帮助表示赞赏.解决方法:尝试手工制作调试器几乎是不可能的,但可以做到.想一想这个脚本大纲: >找到脚本的路径>复制脚本的临时文件>转到断点所在的每一行>附加一行来停止脚本,例如;退出(-1) – 但...

如何针对自定义类型调试调用Python的copy.deepcopy()的问题?【代码】

在我的代码中,我试图使用copy.deepcopy来获取类的实例副本.问题是在某些情况下出现以下错误是错误的:TypeError: 'object.__new__(NotImplementedType) is not safe, use NotImplementedType.__new__()'经过大量挖掘后,我发现我能够使用以下代码重现错误:import copy copy.deepcopy(__builtins__) 问题似乎是在某些时候它试图复制NotImplementedType内置.问题是为什么这样做?我没有在课堂上覆盖__deepcopy__而且它不会一直发生.有...

python – 如何在crawlspider中调试规则?【代码】

scrapy shell是调试xpath表达式的一个很好的工具,但是在crawlspider中调试规则的任何工具或方法?这意味着我怎么能知道规则按我的意愿运作. 我的规则是:rules = (Rule(SgmlLinkExtractor(allow=r'/search*',restrict_xpaths="//a[@id='pager_page_next']"), follow=False),#Rule(SgmlLinkExtractor(allow=r'/chart/[\d]+s$'), callback='parse_toplist_page', follow=True),)它不遵循我想要的链接,所以如何调试?任何例子?解决方...

在Python Visual Studio下进行调试时编辑并继续?

我经常在调试时发现我的代码中有一个小错误,即拼写错误的变量.从一开始就必须再次启动程序是非常耗时的. 是否有可能纠正这个错误,然后程序从它停止的地方继续运行?具体来说,我使用Visual Studio作为IDE在Python中进行编码.解决方法:由于您在Visual Studio上下文中讨论Python,我假设您正在使用Visual Studio(PTVS)的Python工具. 您所指的功能在VS中通常称为“编辑并继续”(ENC),因为它最初是为C#和VB调用的.不幸的是,PTVS还不支持它...

Python 程序如何高效地调试?【图】

Python在debug方面的支持还是不错的,在明确代码意义的情况下,通过log、print和assert分析错误原因,配合单元测试可以很高效。然而,实际工作中大量代码很可能出自他人之手,这种情况下,使用debugger就显得更加高效了。一、在控制台下进行程序调试PDB如果你熟悉命令行调试工具(例如gdb、lldb),那么使用Python中的PDB将获得非常好的体验,PDB不仅支持项目启动时进行调用,也支持在Python shell中交互式调试;功能上,支持断点、...

使用WingIDE调试Python瓶应用程序【代码】

我正在编写一个Python Bottle应用程序(Python 2.7.2和Bottle 0.10.9)并在WingIDE(3.2.8-1)Professional for Linux中进行开发.这一切都很好,除非我想调试Bottle应用程序.我让它在WingIDE中以独立模式运行,但它不会停留在我的代码中的任何断点,即使我设置了Bottle.debug(False).有没有人对我如何设置瓶子有任何建议/想法,所以它会在WingIDE内的断点处停止?解决方法:如果将重新加载器设置为true,则启动实际应用程序的子过程.在Wing你...

总是在异常时总是调用python调试器的一般方法【代码】

我希望我的调试器在遇到异常时运行post_mortem(),而不必修改我正在处理的源.我看到很多例子涉及在try / except块中包装代码,但我想让它始终运行,无论我在做什么. 我研究了一个python包装器脚本,但是它变得丑陋且几乎无法使用. 我使用的是pudb,它与pdb的API等价,所以pdb特定的答案很好.我在我的编辑器(vim)中运行代码,并希望在遇到异常时让pm出现.解决方法:花了几个月的时间没有做任何事情,但我偶然发现了一个解决方案.我相信对于经...

调试 - 相关标签