【问题标题】:Ironpython: Debugging a null reference exceptionIronpython:调试空引用异常
【发布时间】:2011-08-25 14:25:18
【问题描述】:

我之前在看到空指针异常时问过this 问题。在那种情况下,事实证明我所看到的实际上是 IronPython 中的一个错误。

现在我最近在使用第三方库(用 C# 编写)时再次遇到此错误。该库是 DotSpatial 库,事实证明,我不小心在 IronPython 代码中创建了一个条件,导致 DotSpatial 方法中断的副作用。作为参考,调用和错误消息是:

>>> myScheme.CreateCategories(myLayer.DataSet.DataTable) 
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
SystemError: Object reference not set to an instance of an object.

这特别难以调试,因为问题不在于我传递给它的方法的 myScheme 对象或 DataTable,而是我设置不正确的 myScheme 的另一个属性,我什至不知道 CreateCategories 访问了它.

为了弄清楚这里出了什么问题,我必须通读 DotSpatial source code。虽然我这样做没有太多麻烦,但我想知道是否有更简单的方法来调试此类错误?还是因为我正在使用 IronPython 和第三方库而遇到错误消息?

【问题讨论】:

    标签: .net ironpython nullreferenceexception


    【解决方案1】:

    有两个命令行开关可以让 IronPython 显示更多异常信息:-X:ExceptionDetail-X:ShowClrExceptions。其中之一或两者都应该为您提供NullReferenceException 发生位置的完整堆栈跟踪。

    【讨论】:

    • 太棒了。我只是花了一个小时试图弄清楚如何做到这一点。谢谢。
    猜你喜欢
    • 1970-01-01
    • 2011-05-16
    • 2013-09-21
    • 2013-05-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多