debugging - Iron Python 和 VS2010 调试问题

标签 debugging ironpython custom-exceptions

我开始使用 IronPython 和 VS2010,但在调试环境中遇到了问题……有人能指出我正确的方向吗?请注意,我的 Python 知识还不到一周,所以我的问题很可能是自己造成的。

最烦人的问题是,当发生异常时,VS 调试器不会在发生异常的地方中断……而是在最顶层中断。这使得找出异常发生的位置成为令人沮丧的断点和步进练习。

另一个烦恼是引发自定义异常。调试器只告诉我异常的类名而不是消息(但原生铁 python 异常包括两者)。例如:

class MyCustomError(BaseException):
    def __init__(self, value):
        self.value = value
    def __str__(self):
        return repr(self.value)

当引发时(例如“raise MyCustomError('some nice message')”),我在调试器中可以看到 $exception 的所有内容是“MyCustomError”....值(value)。

任何帮助,将不胜感激!!

最佳答案

如果您安装 Python Tools for Visual Studio您可以获得 Python 调试而不是 .NET 调试。只需进入调试页面上的项目属性并选择 Python 启动模式。然后您可以在调试异常窗口中配置异常。

如果没有 PTVS,您可以通过进入异常窗口并确保针对抛出的列检查 .NET 异常来改善异常体验。

关于debugging - Iron Python 和 VS2010 调试问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6388127/

相关文章:

c# - IronPython 覆盖内置方法

java - 我的自定义异常不返回异常代码(代码始终返回 500)

javascript - 如何跟踪变量更改其值的行?

c++ - 如何打印以筛选结构及其所有内容?

c# - 如何在 Visual Studio 的 WPF Python 项目中手动创建 App.xaml 文件?

asp.net - 作为 IronPython 执行用户输入的表达式是否安全

java - Java 中的每个自定义异常都需要自己的类吗?

c++ - 如何找到哪个函数打开了套接字?

java - java.lang.String无法转换为int…不确定我在做什么