【问题标题】:How to make FlashDevelop show line error and where it happened with Haxe?如何使 FlashDevelop 显示行错误以及在 Haxe 中发生的位置?
【发布时间】:2017-02-16 11:59:52
【问题描述】:

我使用 Haxe 已经有一段时间了,我正在使用 Windows 目标 (OpenFL) 进行调试。

当我在某处放置try/catch 时,它只是说例如"Null object reference" - 它没有说行号和类,所以我必须继续跟踪以找到它在哪一行抛出错误。

有人可以帮我吗?

【问题讨论】:

    标签: try-catch haxe openfl hxcpp


    【解决方案1】:

    如果您在发布模式下编译,您可能需要通过将以下定义添加到您的 project.xml 文件来启用堆栈跟踪:

    <haxedef name="HXCPP_STACK_LINE" />
    

    此外,除非定义以下内容(出于性能原因),否则您将无法捕获空引用异常或获取它们的堆栈跟踪:

    <haxedef name="HXCPP_CHECK_POINTER" />
    

    使用这两个,您应该会在 FlashDevelop 的输出面板中看到堆栈跟踪。

    您可以在here 中找到有关这些标志和 hxcpp 调试的一些有用信息。您可能还想查看crashdumper 库。

    【讨论】:

    • 我正在使用 catch (e:Dynamic){ trace(e);我仍然只得到“MainDomain.hx:218: Null Object Reference”作为 mainDomain.hx:218 的行...我做错了吗?
    • 如果您想查看堆栈跟踪,您可以不捕获异常。或者,您可以使用 haxe.CallStack 获取堆栈跟踪:gist.github.com/Gama11/adcc268fb00d3f442c969e54940db831
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-07-30
    • 1970-01-01
    • 1970-01-01
    • 2017-03-30
    • 1970-01-01
    • 1970-01-01
    • 2019-05-02
    相关资源
    最近更新 更多