【问题标题】:Debugging with IronPython Tools in Visual Studio Shell: can't watch the variables在 Visual Studio Shell 中使用 IronPython 工具进行调试:无法查看变量
【发布时间】:2011-03-12 12:55:22
【问题描述】:

我已经安装了 VS 2010 Shell 和 IronPython 工具,但我无法让调试器通过 Quick Watch 显示任何值,它说在上下文中找不到变量。是不是因为我没有安装 VS 2010 本身,只有外壳? IronPython Tools Walkthrough 文档称,目前仅通过 C# 表达式求值器支持调试。

TIA

【问题讨论】:

    标签: visual-studio-2010 debugging ironpython


    【解决方案1】:

    这是因为它通过 C# 表达式求值器得到支持。因此,您看到的本地人就是 C# 看到的本地人。如果您在函数内部,那么通常参数和局部变量应该可以作为变量在 watch/locals/autos 中使用。如果您调用 locals()、使用 exec/eval 或者它们是闭包变量,它们可能不可用。它们也可能在全局或类上下文中不可用。通常会有其他变量(通常以 $ 开头)可以用来挖掘实际值。

    如果您不需要在 C#(或其他 .NET 语言)和 IronPython 之间进行调试,您实际上可以使用新的“Python Tools for Visual Studio”,它具有与 IronPython 一起使用的纯 Python 调试模式。不过,您需要先卸载 IronPython 2.7 中的 IronPython 工具功能。

    【讨论】:

    • 谢谢你,你说得对。我可以查看本地变量,也可以从 $-variables 向下钻取到全局变量。
    • 但是我似乎无法运行一个简单的 .py 程序来导入另一个 .py 文件并从那里调用一个函数。我得到 IronPython.Runtime.Exceptions.ImportException。不用说,使用纯 ipy.exe 一切正常,无需 VS。我了解第二个文件未正确导入第一个文件。你有什么想法吗?
    • 你的 python 脚本在同一个项目文件夹中吗? (f.e. /bin/debug) 否则你需要将你的脚本/库/...的路径添加到你的 python-engine ---> link
    【解决方案2】:

    进入项目属性,将“Launch Mode”改为“Standard Python Launcher”(除非你需要调试C#代码)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-03-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-27
      • 1970-01-01
      • 2011-02-02
      相关资源
      最近更新 更多