【发布时间】:2017-02-16 11:59:52
【问题描述】:
我使用 Haxe 已经有一段时间了,我正在使用 Windows 目标 (OpenFL) 进行调试。
当我在某处放置try/catch 时,它只是说例如"Null object reference" - 它没有说行号和类,所以我必须继续跟踪以找到它在哪一行抛出错误。
有人可以帮我吗?
【问题讨论】:
标签: try-catch haxe openfl hxcpp
我使用 Haxe 已经有一段时间了,我正在使用 Windows 目标 (OpenFL) 进行调试。
当我在某处放置try/catch 时,它只是说例如"Null object reference" - 它没有说行号和类,所以我必须继续跟踪以找到它在哪一行抛出错误。
有人可以帮我吗?
【问题讨论】:
标签: try-catch haxe openfl hxcpp
如果您在发布模式下编译,您可能需要通过将以下定义添加到您的 project.xml 文件来启用堆栈跟踪:
<haxedef name="HXCPP_STACK_LINE" />
此外,除非定义以下内容(出于性能原因),否则您将无法捕获空引用异常或获取它们的堆栈跟踪:
<haxedef name="HXCPP_CHECK_POINTER" />
使用这两个,您应该会在 FlashDevelop 的输出面板中看到堆栈跟踪。
您可以在here 中找到有关这些标志和 hxcpp 调试的一些有用信息。您可能还想查看crashdumper 库。
【讨论】:
haxe.CallStack 获取堆栈跟踪:gist.github.com/Gama11/adcc268fb00d3f442c969e54940db831