【问题标题】:HaxeDevelop debug does not stop on breakpointHaxeDevelop 调试不会在断点处停止
【发布时间】:2019-04-08 21:08:23
【问题描述】:

我是 HaxeDevelop 的新手(但对 FlashDevelop 有经验),它基本上没有我可以通过 Google 搜索找到的有用文档。我正在尝试使用 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 进行了尝试,它们都不会在断点处停止。

如果有人知道让 Haxe 在 HaxeDevelop、FlashDevelop 或 VS Code 中以调试模式运行的好教程,我将不胜感激。

【问题讨论】:

    标签: haxe flashdevelop


    【解决方案1】:

    HaxeDevelop / FlashDevelop 仅支持在 Flash 目标上进行断点调试。设置可能有点棘手,因为它需要 32 位 Java 在您的 PATH 中(VSCode 中的 Flash 调试不存在此限制)。您还需要确保 Flash Debug Player 与.swf 文件相关联。您可以在herehere 找到更多详细信息。


    另一方面,VSCode 支持调试 much wider range of targets:

    • JavaScript
    • 哈希链接
    • HXCPP
    • 评估(宏)
    • 闪光

    在任何 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 进行调试,它工作了(但每次都需要我打开另一个 HaxeDevelop 实例)!不幸的是,我使用的是 Starling,它在构建到 flash 时似乎不起作用(它有一个 #if flash 语句,该语句会引发错误,说明有关使用 AIR 而不是 flash 的内容)。所以是 VS 代码!
    • 我正在尝试按照这些步骤更新 VSCode(2019 年 3 月),安装 Lime 扩展,安装 Haxe 扩展。我在控制台中运行了“lime setup”,出现了一些依赖错误,现在它卡在“找不到类型:CommandLineTools”上——因为我尝试运行lime setup。谷歌没有太大帮助。 (Haxe / Lime 等新手)
    • 这并不是讨论这个问题的最佳场所,因为这听起来像是一个更一般的 Lime 设置问题,而不是与调试相关的问题。试试 OpenFL 论坛/Discord。
    • 怎么不是?人们来这里寻求帮助以使事情正常进行。我能够更接近成功;我的 haxelib 路径配置错误。我运行了 haxelib setup 并确保所有东西都安装在同一个位置。但是现在,我按 F5,选择“Windows / Debug”配置,然后弹出错误:convertToDTo: unexpected type
    【解决方案2】:

    如果您使用 HaxeDevelop 并以 JavaScript 为目标,则可以进行调试构建(将 -debug 添加到您的 HXML 或选择“调试”下拉菜单),它提供源映射。然后你可以使用浏览器开发工具 (F12) 并单步执行所有 Haxe 代码。

    您可以使用js.Lib.debug() 在代码中轻松放置debugger 语句,以便在此位置放置“断点”。从那里你也可以开始踩踏。

    这不是 HaxeDevelop 特定的,但在使用 HaxeDevelop + JavaScript 目标时效果很好。

    https://haxe.org/manual/debugging-javascript.html

    【讨论】:

      猜你喜欢
      • 2023-03-12
      • 2018-08-11
      • 1970-01-01
      • 1970-01-01
      • 2015-06-30
      • 2010-11-25
      • 2011-07-14
      • 2013-09-27
      • 2015-07-17
      相关资源
      最近更新 更多