[英]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.