簡體   English   中英

將 Visual Studio 調試器與 IronPython 結合使用

[英]Using Visual Studio Debugger with IronPython

我目前正處於嘗試將 Visual Studio 的調試器附加到 IronPython 進程的困境中。

我有一個 c# dll,我通過 Ironpython(導入 clr)在 python 腳本中引用和使用它。

在我的 c# 程序中,我再次通過 IronPython 設置調用此 python 腳本。

C# 代碼運行 Python 腳本及其 class 方法

我已經完成的步驟:到目前為止,從對該主題的研究中,我發現您需要添加選項字典(如代碼中所示)並在調試選項中禁用(只是我的代碼)。 這應該允許在 python 腳本中設置斷點,然后 Visual Studio 可以命中。 現在這對我來說在vs 2019 / vs 2022中都不起作用。 只有vs 2017能夠達到這些斷點。 當我用調試器運行它時,斷點只是說(斷點當前不會被擊中。沒有為此文檔加載任何符號)再次從所做的研究來看,故障似乎是 vs 2019 和 2022 不支持 python 版本IronPython 使用的,因此我正在慢慢放棄。 我的項目的總體目標只是嘗試使調試器工作。

問題:是否還有辦法將 Visual Studios 調試器附加到 IronPython 進程並調試 .py 文件?

PS:我嘗試了 ironPython 2.7 和 3.4.1 alpha

您可以在腳本中添加以下代碼:

import clr
import System
System.Diagnostics.Debugger.Break()

然后在 Visual Studio 調試器下運行主機 .NET 應用程序,然后運行腳本。 腳本執行應在 Visual Studio 調試器中停止,您可以在其中進行單步執行、評估等操作。

另請注意,IronPython 支持標准 python 跟蹤機制(即settrace )。 有了這個,您可以為您的腳本實現自定義調試器/跟蹤器。 例如,我們制作了這樣一個 IronPython 腳本調試器,作為我們產品 AlterNET Studio 的一部分。

暫無
暫無

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

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