Memory Thinking for Rust, Second Edition

The following direct links can be used to order the book now:

Available in PDF format with the optional recording and Windows/Linux API books from Software Diagnostics Technology and Services

Available in PDF format from Leanpub

Available in ultra-premium color paperback format from Amazon and Barnes & Noble

Available in Kindle print replica format from Amazon

The book is also included in the following training courses, training packs, and reference sets:

Pattern-Oriented Software Diagnostics and Anomaly Detection Reference Set

Accelerated Rust Windows Memory Dump Analysis

GDB Training Pack

Complete Pattern-Oriented Software Diagnostics Training Pack

Memory Thinking for Rust

Memory Thinking for Rust training reviews memory-related topics from the perspective of software structure and behavior analysis and teaches Rust language aspects in parallel while demonstrating relevant code internals using WinDbg and GDB on Windows (x64) and Linux (x64 and ARM64) platforms:

  • Relevant language constructs
  • Memory layout of structs and enums
  • References, ownership, borrowing, and lifecycle
  • Local, static, and dynamic memory
  • Functions, closures
  • Smart pointers
  • Object-oriented and functional features
  • Unsafe pointers
  • Windows and Linux specifics
  • … and much more

The new training version updates and extends the existing topics, adding some missing from the first edition. The updated PDF book also has a new format similar to the second edition of Memory Thinking books for C and C++.

The training includes the PDF book that contains slides, brief notes highlighting particular points, and related source code with execution output:

  • Title: Memory Thinking for Rust: Slides with Descriptions and Source Code Illustrations, Second Edition
  • Authors: Dmitry Vostokov, Software Diagnostics Services, Dublin School of Security
  • Publisher: OpenTask (April 2025)
  • Language: English
  • Product Dimensions: 25.4 x 20.3
  • PDF: 272 pages
  • ISBN-13: 978-1912636488

The following audiences may benefit from the training:

  • Rust developers who want to deepen their knowledge
  • Non-C and C++ developers (for example, Java, Scala, Python) who want to learn more about pointer and reference internals
  • C and C++ developers who want to port their memory thinking to Rust quickly

For more detailed content, please see the first 15 slides (there are more than 240 slides for the training and 2,500 lines of Rust code) and Table of Contents from the reference book.