我有一个需要调试的SCons脚本。在某些事情发生的地方,我有一个问题,我需要找出它变坏的地方。
我想调试SCons脚本,但我不确定如何设置它。我有PyCharm和Komodo IDE,但我无法弄清楚如何使这些工作。
我试过这个:
scons --debug=pdb <args...>
但这只是让我进入SCons;我需要在我创建的SCons运行的脚本中。
有人可以告诉我如何设置PyCharm或Komodo来调试SCons脚本吗?如果不可能,我可以打开其他调试选项。
答案 0 :(得分:0)
根据我的经验,如果您正在考虑在SCons中使用逐步调试,则很难进行调试。
我的建议是在SConstruct文件中添加一个好的日志记录系统(或添加一个)。 例如,level debug-detailed将在自定义构建器中记录变量,level debug只会记录最关键的变量,level production(默认)只会在出现警告或错误时记录,以便最大限度地减少对性能
就个人而言,我认为在复杂的系统中依赖日志系统进行调试是常见的做法。
答案 1 :(得分:0)
使用PyCharm,您可以使用远程调试。
在PyCharm安装中找到远程调试器包:
使用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,如果这是您尝试调试的内容)。