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: https://github.com/aseprite/aseprite/issues/1967

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: https://github.com/masakazu-k/aseprite/commit/4e8fa6b89d83f1a1776e7ae8ce9abe57a8b9036a
  • 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: https://github.com/masakazu-k/vscode-lrdb/commit/5927b21987f61b5af62ddcbfc1db0e12d15530e4

  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: https://github.com/masakazu-k/vscode-lrdb/commit/ab7bc9dc1fcc7d308d356b54bd437d3a412dfd3c

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!