簡體   English   中英

在Eclipse中調試混合的Python / C ++代碼

[英]Debugging mixed Python/C++ code in Eclipse

我有一個使用SWIG生成的Python前端的C ++項目,該項目是使用CMake構建的。 我現在試圖找到一種方便的方法來調試混合的Python / C ++代碼。 我可以使用gdb來獲取錯誤的堆棧跟蹤記錄,但是我想擁有一些更高級的功能,例如單步執行代碼並設置斷點的功能,例如使用Eclipse。

使用用於CMake的Eclipse生成器,我可以生成一個項目,可以將其導入到Eclipse中。 這可以正常工作,我也可以逐步完成純C ++可執行文件。 但是問題開始了。

首先,我無法從Eclipse內部構建Python前端。 在命令行中,我只是執行“ make python”,但是在Eclipse項目中沒有目標“ python”。

其次,一旦編譯了Python前端,我就不知道如何逐步處理包含對包裝的C ++類的調用的Python腳本。 Eclipse已針對Python和C ++進行了調試,但是可以將它們組合在一起嗎?

一些更新穎的功能,例如單步執行代碼和設置斷點的能力,例如使用Eclipse

這些功能如何“花哨”? 您已經可以在Python的pdb或C ++的gdb中完成這些操作。

我建議使用pdb運行python代碼(或使用pdb.set_trace()在一個有趣的點中斷執行),然后在單獨的終端中將gdb附加到進程。 使用pdb在Python代碼中設置斷點並逐步執行。 使用gdb在C ++代碼中設置斷點並逐步執行。 當pdb結束本機調用時,gdb將接管。 當gdbcontinue允許continue執行Python時,pdb將接管。

這應該使您可以在C ++和Python斷點之間跳轉,而無需通過解釋器進行跟蹤。


免責聲明:我在很大程度上認為IDE是垃圾軟件,因此,如果Eclipse 確實有很好的集成方式,那么我將一無所知。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM