草庐IT

DEBUGGING

全部标签

python - Python 调试器会介入生成器吗?

我目前正在使用NetBeansIDE和Jython2.5.1在逐步调试我的项目时,只要遇到对生成器的迭代,调试器就会直接到代码末尾。输出正常,但是一旦遇到第一个生成器就无法一步步调试了。这是所有PythonIDE中Python调试的标准行为吗?难道不能像调试“for”循环的每个元素的VBA一样调试代码“yieldafteryield”(抱歉提到VBA:)?谢谢。编辑没有生成器代码:defexample(n):i=1whilei输出:hellogoodbye调试:[LOG]PythonDebugger:overallStarting[LOG]PythonDebugger.taskStar

python - 在大型 Python 代码库中从结果追溯到原因

我在Django中有一个相当大的项目,这是一个相当大的框架,我使用了相当多的应用程序、中间件、上下文处理器等。规模意味着当代码库的一部分运行在我不希望的地方请求,很难确定它为什么这样做。直接代码检查过于耗时,因为在调试器中单步执行整个请求也是如此。在这种特殊情况下,我的问题是我在每个响应上都设置了“Vary:Cookie”,包括一些我想大量缓存的响应和不需要任何cookie的响应。我怀疑但不知道如何证明某些中间件或上下文处理器正在访问request.session即使它不使用结果——尽管它可能是间接访问,例如通过request.user。当然,它可能完全是另外一回事。在Python中,

python 解释器 : interrupt and continue

我在Python解释器中中断执行后(在Windows中使用CTRL-BREAK),我可以继续执行吗?如果没有,是否有任何其他方式以交互方式暂停执行(以便我可以查看变量值),然后继续?我不想使用调试器,因为它比正常执行慢得多。 最佳答案 我不知道你是不是指debugger的pdb,但如果你不是(这可能对这里的其他人有帮助),你可以尝试:http://docs.python.org/library/pdb.html顺便说一句,这是一个不错的教程:http://onlamp.com/pub/a/python/2005/09/01/debu

Python:使用 gdb 调试(在 OSX 上)

有很多关于使用gdbforPython进行调试的教程。仅举几个最好的例子:https://wiki.python.org/moin/DebuggingWithGdbhttps://stripe.com/blog/exploring-python-using-gdbhttp://scipy-lectures.github.io/advanced/debugging/#debugging-segmentation-faults-using-gdb然而,它们都是针对Linux操作系统的。安装OSX所需的所有扩展包是否可行? 最佳答案 您需

用于多处理的 python 调试工具

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭4年前。Improvethisquestion我有一个python脚本,可以处理线程、进程和数据库连接。当我运行我的脚本时,python崩溃了。我无法明确检测到发生这种情况的情况。现在我正在寻找工具,以便在python崩溃时获取更多信息,或查看器以查看我创建的所有进程/连接。

python - 如何单步执行 Python 表达式求值过程?

我想构建一个可视化调试器,帮助编程学生了解表达式求值是如何发生的(子表达式如何求值并用它们的值“替换”,类似于Excel中的表达式求值可视化器)。看起来您无法使用Python的pdb逐步完成此过程,因为其最精细的步骤粒度是代码行。是否有可能以某种方式单步执行Python字节码?任何其他想法如何实现这个目标?编辑:我需要一个可以构建在CPython标准库之上的轻量级解决方案。 最佳答案 我自己也有一个解决方案想法——我可以通过将所有(子)表达式包装在一个虚拟方法调用中来检测代码(或AST),它除了返回它的参数外什么都不做。例如。x=f

python - 在 Pylons 的 development.ini 中使用相对路径记录文件

我正在开发一个Pylons应用程序,它使用mod_wsgi在Apache之上运行。我想将我的应用程序生成的日志消息发送到我的应用程序目录中的文件,而不是Apache的日志。此外,我想通过相对路径指定日志文件的位置,以便更轻松地将我的应用程序部署到其他人的服务器上。现在我可以登录到文件,但只能通过脆弱的绝对路径。这是我的development.ini文件的相关部分:#Loggingconfiguration[loggers]keys=root,routes,myapp,sqlalchemy,debugging-logger[handlers]keys=console,debugging-

python - Pycharm 调试器 - 框架不可用

我在使用Pycharm调试器时遇到了一个令人费解的问题...在使用调试器方面我是个新手,但我喜欢查看脚本的变量等以定位和解决问题的功能。我正在对我的目录和默认解释器进行一些更改......但似乎不会导致以下问题。我似乎无法显示变量。我有一个回溯显示,但pycharm调试器只显示“Frameisnotavailable”——所以我无法通过故障排除来解决它。请参见下面的屏幕截图: 最佳答案 我意识到我没有正确使用断点。我想要的是调试器在出现异常时停止并加载所有帧,而不是在遇到通用断点时(因为断点在一个循环中,不会在每次迭代时抛出异常)。

python - 我可以关闭隐式 Python unicode 转换来查找我的混合字符串错误吗?

在分析我们的代码时,我惊讶地发现有数百万次调用C:\Python26\lib\encodings\utf_8.py:15(解码)我开始调试,发现在我们的代码库中有很多小错误,通常是将字符串与unicode进行比较或添加sting和unicode。Python优雅地解码字符串并以unicode执行以下操作。真好。但是很贵!我精通unicode,阅读了JoelSpolsky和DiveIntoPython...我尽量让我们的代码内部只使用unicode。我的问题-我可以关闭这种pythonic好人行为吗?至少在我找到所有这些错误并修复它们之前(通常通过添加一个u'u')?其中一些极难找到(有

python - 如何检测 jinja 中的 Debug模式?

在flask下,我想根据我们是否处于Debug模式在jinja模板中包含/排除内容。我不是在争论这是好主意还是坏主意(我会投“坏”票,但仍然只想针对这种情况这样做:-),那么这怎么可能最好呢?我希望我不必将变量显式传递到模板中,不像这样:render_template('foo.html',debug=app.debug)并不是说这太难了,但我宁愿在模板中神奇地说:{%ifdebug%}gocrazzzzy{%endif%}是否有一些默认变量只是懒惰地等着我突袭? 最佳答案 使用contextprocessorsToinjectne