问题标签 [pdb]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
548 浏览

python - pdb 在 django doctests 中不起作用

所以我创建了以下文件(testlib.py)来自动将所有 doctests(在我的嵌套项目目录中)加载到 tests.py__tests__字典中:

为了在应得的地方给予信任,其中大部分来自这里

在我的 tests.py 文件中,我有以下代码:

所有这些都可以很好地从我的所有文件和子目录中加载我的文档测试。问题是,当我在任何地方导入和调用 pdb.set_trace() 时,看到的就是:

doctest 显然是在捕获和调解输出本身,并在评估测试时使用输出。因此,当测试运行完成时,我在 doctest 的失败报告中看到了当我在 pdb shell 中时应该打印的所有内容。无论我是在 doctest 行内还是在被测试的函数或方法内调用 pdb.set_trace(),都会发生这种情况。

显然,这是一个很大的拖累。Doctests 很棒,但是没有交互式 pdb,我无法调试它们检测到的任何故障以修复它们。

我的思考过程是可能将 pdb 的输出流重定向到绕过 doctest 对输出的捕获的东西,但我需要一些帮助来确定执行此操作所需的低级 io 内容。另外,我什至不知道这是否可能,而且我对 doctest 的内部结构太不熟悉了,不知道从哪里开始。那里的任何人都有任何建议,或者更好的一些可以完成此任务的代码?

0 投票
2 回答
1325 浏览

python - 跳过一个 yield 语句

在 Python 调试器 (pdb) 中,我想跳过一个 yield 语句,但是点击 (n) for next 会将我带到 yield 的目的地,即生成器的使用者。我想转到生成器中执行的下一行。有没有办法做到这一点?

我正在使用 Python 2.6

0 投票
1 回答
312 浏览

python - 从 pdb 中运行 pdb

我正在调试我正在编写的脚本,从 pdb 执行语句的结果没有意义,所以我的自然反应是尝试用 pdb 跟踪它。


套用一句话:哟 dawg,我喜欢 python,所以你能把我的 pdb 放在我的 pdb 中,这样我就可以一边调试一边调试吗?

0 投票
3 回答
2303 浏览

python - 使用 FIFO 运行不带标准输入/标准输出的 pdb

我正在用 python 开发 FUSE 文件系统。问题是,在安装文件系统后,我无法从我的 fuse 脚本访问 stdin/stdout/stderr。我没有看到任何东西,甚至是追溯。我正在尝试像这样启动 pdb:

一切正常,但非常不方便。我想将 pdb.in 和 pdb.out 制作为 fifo 文件,但不知道如何正确连接。理想情况下,我想在一个终端中键入命令并查看输出,但即使有两个终端也会很高兴(一个输入命令并在另一个终端中查看输出)。问题:

1)在没有标准输入/标准输出的情况下运行 pdb 是否更好/其他方式?

2)如何将标准输入重定向到 pdb.in fifo(我输入的所有内容都必须转到 pdb.in)?如何将 pdb.out 重定向到标准输出(“cat pdb.out”出现奇怪的错误,但也许我不明白)

0 投票
2 回答
157 浏览

python - 进入子程序调用,但不调用参数

在 pdb 调试器中执行上述行时, usingstep将实际进入a,然后进入 getter,b.c如果它的非典型(例如是 a property),然后实际进入func.

通常我发现自己使用stepfollowingr从我不感兴趣的框架返回,并且经常莫名其妙地错过并错过step直接进入func.

我如何直接进入func,或者调试器命令的序列将保证我最终进入func而不是通过它?

0 投票
3 回答
2192 浏览

python - python中交互式调试的最佳方法是什么?

我想利用 python 的自省功能进行调试/开发,但找不到合适的工具。

我需要在特定位置或特定事件(如异常)处进入 shell(例如 IPython),并将 shell 的局部变量和全局变量设置为框架的局部变量和全局变量。

我自己的快速破解来说明它:

根据来自“断点”或尝试/除外的 run_debug() 调用。但是,很明显,这需要大量的改进,尤其是要正确使用线程应用程序。

winpdb 有控制台断点,但我发现无法从中快速运行正确的 python shell,并且 eval()/exec() 对于长时间调试不是很方便。

0 投票
7 回答
21173 浏览

python - 如何在 Python 中使用`pytest`?

我正在一个最近切换到框架的项目中工作。我习惯于从 Eclipse 调用我的测试,这样我就可以使用调试器(例如,放置断点来分析测试失败是如何发展的)。现在这不再可能,因为运行测试的唯一方法是通过命令行黑盒。pytest unittest

有什么方法可以pytest在 Python 中使用,这样就不会被迫退出 IDE?测试当然不应该在单独的进程中运行。

0 投票
5 回答
5647 浏览

python - 我可以让 Python 调试器 pdb 用 Color 输出吗?

我经常使用 PDB,如果我可以添加 systax 突出显示的颜色似乎会更好。

理想情况下,我希望代码路径的颜色较浅。实际代码行将突出显示语法。

我正在使用 OS X 和终端应用程序。蟒蛇 2.7

0 投票
4 回答
5046 浏览

python - 在 Emacs 中获取 pdb 以使用当前 virtualenv 中的 Python 进程

我正在使用 pdb 在 emacs 中调试一些 python 代码并遇到一些导入问题。依赖项安装在我定制的 virtualenv 环境之一中。

Pdb 顽固地使用 /usr/bin/python 而不是我的 virtualenv 中的 python 进程。

我使用 virtualenv.el 来支持 emacs 中的环境切换以及通过中描述的 postactivate 挂钩

http://jesselegg.com/archives/2010/03/14/emacs-python-programmers-2-virtualenv-ipython-daemon-mode/

这在运行 Mx python-shell 时效果很好

这指向我所有的 virtualenv 库,表明 python-shell 是我的 virtualenv 的。

然而,这与 M- 相矛盾!哪个python,它给出/usr/bin/python

有谁知道我如何告诉 Mx pdb 从当前活动的 virtualenv 中采用 python 进程?

0 投票
2 回答
828 浏览

django - 使用 pdb 时出现 Django UnicodeDecodeError

每次我放一个:

在我的西班牙语 Django 项目中,如果我在字符串中有特定的 Unicode 字符,例如:

我在 Django 调试窗口中得到一个带有“序数不在范围内 (128)”的 UnicodeDecodeError。问题是我无法轻松调试我的应用程序。另一方面,如果我使用 ipdb,我会得到如下信息:

我已经用谷歌搜索找到解决方案,但看起来我是唯一一个遇到这个问题的人:)