簡體   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