Lua Script Debugging

I would like to convey some information that I know about the lua debugging feature that is planned for v1.3.

related issue: Debugger · Issue #1967 · aseprite/aseprite · GitHub

I tried implementing the “VS Code extension”(use LRDB) in the above issue.
Below are my solutions to the problems I faced during implementation.

  • Problem when embedding Lua remote debugger in aseprite
  1. In Windows, “#define DIFFERENCE” in WinUser.h, so it conflicts with the definition of “DIFFERENCE” in blend_mode.h.
    How to fix: Resolve duplicate of DIFFERENCE (Windows) · masakazu-k/aseprite@4e8fa6b · GitHub
  • VSCode Extension problems and solutions
  1. VS Code extension hasn’t been updated for a long time and doesn’t work at all (old vscode API remains?)
    How to fix: Support latest code. · masakazu-k/vscode-lrdb@5927b21 · GitHub

  2. VS Code manages lua files with relative paths, but aseprite manages with absolute paths, so breakpoints don’t work properly

  3. In Windows, the drive letter is lowercase (c:/) in VSCode, but aseprite is uppercase (C:/), so breakpoints don’t work properly
    How to fix: customize for aseprite. · masakazu-k/vscode-lrdb@ab7bc9d · GitHub

For those who want to try

  1. I have pushed my custom aseprite to GitHub.
    URL: https: //github.com/masakazu-k/aseprite/tree/lua_debug_mode

Check out the branch “lua_debug_mode” and build.
The debug function is enabled when “–lua-debug” is specified as a boot argument.
ex) aseprite.exe --lua-debug 21110

Aseprite will be a blank window until the VS Code debugger connects.

  1. The official vs code extension doesn’t work, so I uploaded the modified extension.
    URL: https: //github.com/masakazu-k/vscode-lrdb/releases

Here is the video that is actually running.

I hope you find this information useful in the development of v1.3.

I’m sorry for poor English.
thank you for reading!