如何调试SCons脚本

时间:2014-04-02 17:27:58

标签: debugging pycharm scons komodo

我有一个需要调试的SCons脚本。在某些事情发生的地方,我有一个问题,我需要找出它变坏的地方。

我想调试SCons脚本,但我不确定如何设置它。我有PyCharm和Komodo IDE,但我无法弄清楚如何使这些工作。

我试过这个:

scons --debug=pdb <args...>

但这只是让我进入SCons;我需要在我创建的SCons运行的脚本中。

有人可以告诉我如何设置PyCharm或Komodo来调试SCons脚本吗?如果不可能,我可以打开其他调试选项。

3 个答案:

答案 0 :(得分:0)

根据我的经验,如果您正在考虑在SCons中使用逐步调试,则很难进行调试。

我的建议是在SConstruct文件中添加一个好的日志记录系统(或添加一个)。 例如,level debug-detailed将在自定义构建器中记录变量,level debug只会记录最关键的变量,level production(默认)只会在出现警告或错误时记录,以便最大限度地减少对性能

就个人而言,我认为在复杂的系统中依赖日志系统进行调试是常见的做法。

答案 1 :(得分:0)

使用PyCharm,您可以使用远程调试。

在PyCharm安装中找到远程调试器包:

  • Python 2.x:pycharm-debug.egg
  • Python 3.x:pycharm-debug-py3k.egg

使用easy_install安装鸡蛋。它应该在Python部署中找到。在Windows上查看Scripts文件夹。

关注generate-cli-skeleton HowTo。

以您想要的任何方式运行您想要调试的Python代码,它将连接到PyCharm的调试服务器并在脚本中停止。

调试Godot的SConstruct文件的屏幕截图: Remote Debugging

Scons是从Visual Studio命令行执行的,以便为构建接收正确的环境变量(而不是来自PyCharm)。

更新:更简单的解决方案是直接为scons.py本身添加运行配置。您可以在Visual Studio命令提示符中发出SET命令,复制打印的所有环境变量并粘贴到PyCharm内运行配置的Environment设置中。使用该配置,您可以调试整个基于scons的构建,包括SConstruct文件。

答案 2 :(得分:0)

在您的SConstruct中:

import pdb
pdb.set_trace()

您将进入SConstruct内部的调试器(或SConscript,如果这是您尝试调试的内容)。