“Basically, rust-gdb is a wrapper that loads external Python pretty-printing scripts into GDB. This is useful (and somewhat necessary) when debugging more complex Rust programs because it significantly improves the display of Rust data types.” (src)

what the developer has to do:

hostnamectl; # tested on
   Static hostname: lenovo
  Operating System: Debian GNU/Linux 10 (buster)
            Kernel: Linux 4.19.0-17-amd64
      Architecture: x86-64

# as non-root user
# install rust (will be installed per-user, not system-wide)
curl --proto '=https' --tlsv1.2 https://sh.rustup.rs -sSf | sh
# reload the shell to find the paths to rustc
su - non-root-user
# or restart shell
# test that paths are working
rustc --version
rustc 1.53.0 (53cb7b09b 2021-06-17)

# create new project with cargo
cargo new helloworld
cd ./helloworld/src
cargo build
 Finished dev [unoptimized + debuginfo] target(s) in 0.00s
cargo run
 Finished dev [unoptimized + debuginfo] target(s) in 0.00s
Running `/home/devrust2/helloworld/target/debug/helloworld`
Hello, world!

vim main.rs
# within vim
:packadd termdebug
:let termdebugger="rust-gdb"

# now this should show up

congrats! ready to debug 🙂

within gdb:

# load the compiled binary with symbols

file ../target/debug/helloworld
# then the developer is ready to start

# hurray! :) step debugging works :)

video with music:



go to: https://alpha2phi.medium.com/setting-up-neovim-for-rust-debugging-termdebug-and-vimspector-df749e1ba47c


show me the src: https://github.com/rust-lang/rust

official website: https://www.rust-lang.org/

official forum: https://users.rust-lang.org/

how-to-conduct: https://www.rust-lang.org/policies/code-of-conduct

news/stay updated: https://blog.rust-lang.org/

via rss:




samples/examples/to the book: https://github.com/ProgrammingRust

reference: https://doc.rust-lang.org/cargo/reference/manifest.html

RFCs: https://github.com/rust-lang/rfcs

rust-foundation: https://foundation.rust-lang.org/

her blog: https://github.com/edunham

book: https://github.com/rustwasm/book

Austria rust community: https://rust-linz.at/

wiki: https://en.wikipedia.org/wiki/Rust_(programming_language)




GDB Cheat Sheet.pdf

PS: Conque-GDB vim plugin can (probably) enable rust and c++ setp debugging in vim prior to v.8.1 too, but it was not updated since 2016 and throws errors.




liked this article?

  • only together we can create a truly free world
  • plz support dwaves to keep it up & running!
  • (yes the info on the internet is (mostly) free but beer is still not free (still have to work on that))
  • really really hate advertisement
  • contribute: whenever a solution was found, blog about it for others to find!
  • talk about, recommend & link to this blog and articles
  • thanks to all who contribute!