繁体   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