我是HaxeDevelop的新手(但对FlashDevelop很有经验),它基本上没有我通过谷歌搜索找到的有用文档。我正在尝试使用OpenFL和Starling运行一个简单的应用程序。它有一个问题,所以我尝试了一个断点。但是,它不会在断点处停止。我甚至在主类代码中放了几个断点,它不会停止。我甚至尝试用一个主类和一个虚拟类来创建一个新项目,它也不会断点。我是否必须告诉它使用特殊的调试过程?我是否需要安装更多软件?我应该只使用VS Code吗?
我安装了HaxeDevelop和haxe,lime和OpenFL。我创建了一个新的OpenFL项目并在Main文件中做了一些简单的工作(制作一些整数变量,打印一些东西等)并用断点填充它。我运行它并输出打印(但不会在任何断点处停止):
Build succeeded
Done(0)
haxelib run lime run "project.xml" neko -debug
Running process: C:\HaxeToolkit\haxe\haxelib.exe run lime run "project.xml" neko -debug
Main.hx:17: Hello World!
Main.hx:21: Did some stuff... Did it stop?
Done(0)
我已经尝试过使用neko,html5和flash,但没有一个会在断点处停止。
如果有人知道在HaxeDevelop,FlashDevelop或VS Code中让Haxe以调试模式运行的好教程,我会非常感激。
HaxeDevelop / FlashDevelop仅支持Flash目标上的断点调试。设置起来可能有点棘手,因为它需要在您的PATH
中使用32位Java(VSCode中的Flash调试不存在此限制)。您还需要确保Flash调试播放器与.swf
文件相关联。你可以找到更多细节here和here。
另一方面,VSCode支持调试much wider range of targets:
在任何IDE中都没有针对Neko目标的调试支持。
如果您使用的是OpenFL,则应安装Lime extension,它会为您处理各个调试适配器的所有配置(注意:这需要Lime 7.3.0或更高版本)。在一个新项目中,只需“开始调试”并从下拉列表中选择“Lime”:
这将在.vscode/launch.json
中创建Lime启动配置:
{
"version": "0.2.0",
"configurations": [
{
"name": "Lime",
"type": "lime",
"request": "launch"
}
]
}
调试现在应该与当前选定的目标一起开箱即用(只需确保选择了目标的“调试”配置)。您可以单击状态栏指示器以在配置之间切换:
如果您缺少调试扩展,Lime扩展应该打开一个提供安装它的弹出窗口。
如果您使用HaxeDevelop并定位JavaScript,您可以进行调试构建(将-debug
添加到您的HXML或选择'debug'下拉列表),它提供源映射。然后你可以使用浏览器devtools(F12)并逐步浏览所有Haxe代码。
您可以使用debugger
在代码中轻松放置js.Lib.debug()
语句,在此位置放置“断点”。从那里你也可以开始踩踏。
这不是特定于HaxeDevelop,但在使用HaxeDevelop + JavaScript目标时效果非常好。