A lot of `luajit_lldb.py` enhancements
Dumping all my work for this script. Some stuff was changed due to formatter. Let me know what do you want me to finish to merge this.
Tested only on vscode lldb (lldb version 20.1.4-codelldb)
- Fixed bug with unknown
corovariable - Added support for dynamically linked luajit's
- Dump more info about frames: frame type, frame index and traceback-like function names
- Dump local names if possible in
lj-stack - Add limit to
framesgenerator in case of stack corruption. - Add
lj-gcobjfunction and decomposeTValuedumpers fromGCobjtypes - Fix
__str__forPtr. ifself.value.valueisNoneType, Python will error because you must return a string from this function - Minor refactoring here and there)
- thread dump will now show if it's
cur_L,mainthreadand also its status - proto dump will now show chunkname and line info
- Function dump will now show numparams, vararg flag for Lua functions
- Function dump will now show symbol name for C functions and fast functions.
- Fix bug when
gcvalwas implemented asgcref
Hi, @GitSparTV! Thanks for the patch!
This repo is "show case": you should open issues in tarantool/tarantool repo, and patches are reviewed in our mailing list (you can find LuaJIT-related by searching PATCH luajit). So, I suggest to close this PR and proceed in our ML.
Our team has a bunch of features to proceed first, which are blockers for your changes:
- Merge lldb and gdb extensions, and add tests for them.
- Add debugging capabilities for the JIT engine, FFI, and bytecode listings.
- More verbose information about fast functions.
Since your patch depends on our changes, it is necessary to wait until the aforementioned patch-sets are merged in the master branch. I'll ping you here again after that.
If you won't be able to return to your patchset to rebase it on the merged ones, inform me so I can proceed with your changes by myself.