nvim-gdb
cpplinks
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
nvim-gdb
-
I can't stand using VSCode so I wrote my own (it wasn't easy)
It's not ideal to me yet. I've had some problems with DAP. The DAP servers I've checked were a bit unstable and slow. For now I'm using gdb with nvim-gdb https://github.com/sakhnik/nvim-gdb
Very reliable and as fast as gdb is. But with all the problems just using gdb has.
-
Debugging in neovim
Maybe https://github.com/sakhnik/nvim-gdb (bashdb uses gdb like commands) I've mostly used llvm debugger and node debugger so I am not too familiar with gdb.
-
I must be missing something
nvim-gdb: GDB wrapper, simple and easy to hack.
-
Create visual interface for breakpoints
Recently I am using nvim-gdb, which is inspired by neovim-gdb.vim script. I am wondering whether it is possible to have the same visual interface in terms of current line running as well as the breakpoint mark similar to the above two project but not connect to the debug?
-
Debugging in Neovim
There's the plugin that evolved from the original neovim debugger: sakhnik/nvim-gdb. Well tested and maintained. Spoiler: personal affiliation.
-
Debugger plugins
sakhnik/nvim-gdb This one also looks like a nice debugger plugin; also neovim only.
-
GDB TUI mode
https://www.dannyadam.com/blog/2019/05/debugging-in-vim/ describes it well. https://github.com/sakhnik/nvim-gdb is nicer, but requires neovim.
cpplinks
-
The Fuzzing Book
More on compiler correctness in general: https://github.com/MattPD/cpplinks/blob/master/compilers.cor... and fuzzing in particular: https://github.com/MattPD/cpplinks/blob/master/compilers.cor...
-
Property-Based Testing for the People
Right, metamorphic testing in particular (which would be a special case of PBT, with metamorphic relations being properties), https://en.wikipedia.org/wiki/Metamorphic_testing, https://github.com/MattPD/cpplinks/blob/master/testing.md#pr...
One simple example (from the above) is "sin (π − x) = sin x" for the implementation of the sine function not requiring the knowledge of the output values. Naturally, instead of literal equality "=" one can use a more appropriate accuracy specification as a, say, relative ulp (https://en.wikipedia.org/wiki/Unit_in_the_last_place) error bound, cf. https://members.loria.fr/PZimmermann/papers/accuracy.pdf
- Evolution of the ELF object file format
-
Needed an advice in compilers dev!
linking and loading: https://github.com/MattPD/cpplinks/blob/master/executables.linking_loading.md - in addition to the aforementioned books and blog posts, there also some pretty good talks: https://github.com/MattPD/cpplinks/blob/master/executables.linking_loading.md#talks
-
How do you test compiler projects?
For more compilers correctness* resources see https://github.com/MattPD/cpplinks/blob/master/compilers.correctness.md
-
Assemblers and linkers resources
As for linkers and loaders, see https://github.com/MattPD/cpplinks/blob/master/executables.linking_loading.md
-
The Danger of Atomic Operations
More: https://github.com/MattPD/cpplinks/blob/master/atomics.lockfree.memory_model.md
-
How to move onto intermediate c++?
Take the red pill and see how deep the rabbit hole goes... https://github.com/MattPD/cpplinks/ https://github.com/shafik/cpp_learning
-
How should I learn x64 instructions?
x86-64 tutorials here should be a good starting point: https://github.com/MattPD/cpplinks/blob/master/assembly.x86.md#tutorials
-
Where should a static analysis beginner start?
See also static analysis resources (more C++-oriented, although some of the readings are general): https://github.com/MattPD/cpplinks/blob/master/analysis.static.md#readings-books and https://gist.github.com/MattPD/71b63a3e1600c2b52e1db80fa2834e60#correctness-in-practice (formal methods and program analysis in industry).
What are some alternatives?
nvim-dap - Debug Adapter Protocol client implementation for Neovim
lm8 - A custom 8-bit computer and software suite
vimspector - vimspector - A multi-language debugging system for Vim
xhyve - xhyve, a lightweight OS X virtualization solution
NvChad - Blazing fast Neovim framework providing solid defaults and a beautiful UI, enhancing your neovim experience.
cppcoro - A library of C++ coroutine abstractions for the coroutines TS
gdb-dashboard - Modular visual interface for GDB in Python
lzz-bin - Lzz: The Lazy C++ Programmer's Tool. Archive of lzz 2.8.2 binaries + documentation
gdb-frontend - ☕ GDBFrontend is an easy, flexible and extensible gui debugger.
clang-tutor - A collection of out-of-tree Clang plugins for teaching and learning
LLDB-TeXmacs-Pretty-Printer - LLDB TeXmacs Pretty Printer
ssabook - Mirror of InriaForge SSABook repository: https://gforge.inria.fr/projects/ssabook/ (was scheduled for retirement at the end of 2020, was still online as of 2021-03, but then gone by 2021-09).