2

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

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

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

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

5 回答 5

8

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

于 2013-08-05T20:30:31.993 回答
1

您可以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 模块或 nosetests 或其他东西)

于 2013-08-05T20:30:53.393 回答
1

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

于 2013-08-05T20:37:19.597 回答
1

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

于 2019-05-30T14:43:12.183 回答
0

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

于 2013-08-07T19:09:54.330 回答