繁体   English   中英

调试Sconscript文件蚀

[英]Debug Sconscript file eclipse

我有已经基于Scons构建的python项目。

我正在尝试使用Eclipse IDE和Pydev修复源代码中的一些错误。

我已经安装了Eclispe Sconsolidator插件。

我的项目就像项目A下的所有源代码一样,包括定义所有标记,环境等的Sconscript文件。

Eclipse为我提供了项目的Add Scons性质。 添加后,Scons会自动获取我的Sconscript文件并执行。

== Running SCons at 10/28/13 1:59 PM ==

Command line: /opt/gcdistro/app/scons/2.3.0/bin/scons -u --jobs=16

scons: Reading SConscript files.

我想知道如何在Scons正在执行的项目的一部分.py文件中放置断点。

调试SCons项目可能很困难。 您在SConstruct或SConscript python脚本中所拥有的只是大局的一部分。 SCons以多步骤的方式构建,首先读取脚本并构建其树,然后分析这些树,然后仅构建需要构建的树。 因此,您可能只能调试声明部分,即读取python脚本。

像其他任何python程序一样尝试调试它,但是我怀疑您会走得很远。

经过一番挣扎,我能够找到问题的答案。 由于SCons本身就是一个python模块,因此可以使用PyDev在eclipse中对其进行调试。 这不是我想要的最佳解决方案,而是最近的解决方案。

步骤1:我禁用了项目的Eclipse SCons特性。

步骤2:创建一个主文件,该文件将执行SCons的相同功能,但实例化SCons主函数的python对象。

步骤3:在脚本中的所需位置设置断点,并且该断点能够执行该断点。

import os
import sys

if __name__ == '__main__':
    sys.path.append('/gpfs02/gcdistro/app/scons/2.3.0/engine/')
    sys.path.append('/gpfs02/gcdistro/app/scons/2.3.0/bin/')
    sys.path.append('/gpfs02/gcdistro/app/scons/2.3.0/engine/SCons/')
    import SCons
    from SCons import Script
    Script.main()

暂无
暂无

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

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