代码之家  ›  专栏  ›  技术社区  ›  Stefan Monov

如何调试来自本机代码的AccessViolationException

  •  2
  • Stefan Monov  · 技术社区  · 14 年前

    我正在编写托管代码,并且正在使用非托管库(Qt)的托管绑定(qt4dotnet)。偶尔,我会收到来自Qt的AccessViolationException,但我不知道如何调试它。我甚至没有得到比托管/非托管边界更远的stacktrace(这意味着我不知道Qt的哪个部分崩溃在我身上)。

    顺便说一下,我正在VS调试器中运行我的应用程序。

    如何调试异常?

    2 回复  |  直到 14 年前
        1
  •  9
  •   Hans Passant    14 年前

    项目+属性,调试选项卡,勾选“启用非托管代码调试”。这仍然不容易,但至少当它爆炸时,您可以查看非托管堆栈帧。确保你有Qt代码的.pdb文件。

        2
  •  1
  •   ULysses    14 年前

    只检查给定给调用本机代码的函数的参数。