Skip to content

Support Tarantool Lua debug #19

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
georgiy-belyanin opened this issue Apr 16, 2025 · 2 comments · May be fixed by #26
Open

Support Tarantool Lua debug #19

georgiy-belyanin opened this issue Apr 16, 2025 · 2 comments · May be fixed by #26
Labels
feature A new functionality question Further information is requested

Comments

@georgiy-belyanin
Copy link
Member

There is a Tarantool Lua Debugger extension allowing one to debug a Tarantool application from the Visual Studio Code. It'd nice to provide similar functionality within this extension.

@georgiy-belyanin georgiy-belyanin added question Further information is requested feature A new functionality labels Jun 5, 2025
@georgiy-belyanin
Copy link
Member Author

There is an official Tarantool debugger called tarantool-lua-debugger-vscode for Tarantool 2.x and earlier versions. It is available in the marketplace too.

EmmyLuaDebugger also seems to work rather good with Tarantool. It offers the following features.

  • Breakpoints.
  • Step-by-step execution within the fiber.
  • Multiple files support.
  • Interacting with the local variables, console at the debug mode.

It's been tested by me in VS Code.

Though it needs a few fixes & hacks within the original implementation to work with Tarantool. I hope I have a chance to provide them later.

@georgiy-belyanin
Copy link
Member Author

It turned out the only problem I came across when tested EmmyLuaDebugger with Tarantool was caused by spurious wake ups. Probably they are specific to ARM64 or whatever. A PR with a fix has been created in the upstream repo: EmmyLua/EmmyLuaDebugger#75.

georgiy-belyanin added a commit that referenced this issue Jun 14, 2025
This patch introduces basic Tarantool debugging facilities into the
extension. Basically it is done using EmmyLuaDebugger [^1].

Set up the debugger using the following instructions.

* Insert debugger code in Tarantool application by pressing
  `Ctrl+Shift+P` (or `Cmd+Shift+P` on MacOS) and running `Tarantool:
  Insert debugger code` command.
* Start single Tarantool instance.
* Press `F5` or run `Debug: Start debugging` command by pressing
  `Ctrl+Shift+P` (or `Cmd+Shift+P` on MacOS).
* Choose `EmmyLua New Debugger` in the list. This debugging
  configuration would run automatically from now.
* Set up breakpoints & access the Tarantool instance through `Debug
  console` in the bottom panel.

These features are supported.

* Breakpoints.
* Step-by-step execution within the fiber.
* Multiple files support.
* Interacting with the local variables, console at the debug mode.

Needs EmmyLua/EmmyLuaDebugger#75 to be tested
on MacOS on arm64.

Closes #19

[^1] EmmyLua/EmmyLuaDebugger#75
@georgiy-belyanin georgiy-belyanin linked a pull request Jun 14, 2025 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature A new functionality question Further information is requested
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant