我写了一套相当复杂的SCons脚本,我有一些我找不到的错误,例如中间文件被删除或者报告有循环依赖,我想知道原因。不幸的是,我没有看到任何方法来获得关于 SCons 正在做什么和在哪里的详细调试输出。例如,选项 --taskmastertrace=FILE
没有解释为什么我的中间文件被删除了。 (编辑:当然我可以使用 Precious
来保护它们,但是那些文件是另一个目标需要的,并且构建失败了——我只是不明白为什么它们被删除了. 我当前的解决方案涉及 Precious
,但它并不是问题的真正解决方案)。
我想跟踪所有发生的事情,包括依赖项更改、文件创建和删除以及其他操作。有没有办法启用这种详细的日志记录?我目前的项目有点卡住了。
干杯,
最佳答案
好的,我已经解决了这个问题。原因似乎是目录滑入了目标列表,目录创建了自己的一组隐式依赖项。至少我是这么想的,因为在删除目录后,脚本会按预期工作。谁能澄清我的假设是否正确?
我仍然不确切知道如何调试 SCons 的更多细节,我的解决方案是将函数装饰器添加到转储的 /usr/lib/scons/SCons/Node/FS.py
函数调用 + 参数和返回值。
关于python - 调试 SCons,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5166700/