繁体   English   中英

如何在没有交互式控制台的情况下进行调试

[英]How do you debug without an interactive console

作为一名自学成才的程序员,我学会了使用交互式控制台进行调试,该控制台在构建/运行脚本时将所有变量保存在内存中。 但是,我注意到在IDE中进行调试的压倒性趋势(为此,我认为CLI +编辑器解决方案)是在一个地方构建脚本并提供单独的控制台“沙盒”类型区域,该区域仅在复制时保留变量/粘贴您的代码。

在没有交互式控制台的情况下如何调试? 谁能列出一些调试步骤来帮助我成为更好的程序员/调试器?

目前,这是我所做工作的非常简化的版本:

  1. 编写一些伪代码(有时)
  2. 应该工作的编辑器中编写一些代码
  3. 运行/构建脚本
  4. 检查标准输出是否有错误
  5. 如果没有错误,则为7。
  6. 如果有错误,请在修复有问题的代码后返回2。
  7. 在控制台中键入变量名称,以验证它们是否像我预期的那样。
  8. 冲洗并重复,直到达到我的预期效果。

最好的方法是编写测试 这样可以自动执行第3步到第7步。 它还可以防止在更改其他代码时发生回归。

您可以轻松地使用q模块https://pypi.python.org/pypi/q

xyxy.py

import q
do_something()
q.d() #this will open interactive shell

def f():
    do_something()
    q.d() #open console here with access to all local variables of f

您还可以使用自动测试(内置的unittest模块或鼻子测试或其他工具)

使用一个不错的python IDE-那里有很多东西,您将可以通过在鼠标悬停或添加监视来在断点处停止检查变量,并进入一个上下文控制台,在该控制台中您可以在断点的上下文中与代码进行交互。

在问题代码区域之间使用打印语句...否则,只需下载一个好的IDE

事实证明,PyCharm至少有一个交互式控制台,并且默认的键盘映射(在Mac上是)是option-shift-E。 然后将变量加载到内存中。 但是,以上建议是更好的编程实践。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM