Building a Debugger: Write a Native x64 Debugger From Scratch
Master the inner workings of your x64 Linux system and expand your OS expertise by writing your very own debugger using C++.

If debuggers seem like magic to you, there is no better way to demystify them than to write your own. This book will show you exactly how to do it, walking you through the entire process of building a debugger for x64 Linux systems using C++. As go from an empty filesystem folder to a fully fledged debugger capable of setting breakpoints, stepping through code, manipulating variables, and more, you’ll learn how to:

  • Attach to a process
  • Read and write to registers
  • Set hardware and software breakpoints
  • Output disassembly
  • Support multithreading and other tasks

As you add features to your debugger, you’ll also pick up a wealth of knowledge about operating systems, compilers, software testing, and low-level programming that you can use in your day-to-day development.
1147092736
Building a Debugger: Write a Native x64 Debugger From Scratch
Master the inner workings of your x64 Linux system and expand your OS expertise by writing your very own debugger using C++.

If debuggers seem like magic to you, there is no better way to demystify them than to write your own. This book will show you exactly how to do it, walking you through the entire process of building a debugger for x64 Linux systems using C++. As go from an empty filesystem folder to a fully fledged debugger capable of setting breakpoints, stepping through code, manipulating variables, and more, you’ll learn how to:

  • Attach to a process
  • Read and write to registers
  • Set hardware and software breakpoints
  • Output disassembly
  • Support multithreading and other tasks

As you add features to your debugger, you’ll also pick up a wealth of knowledge about operating systems, compilers, software testing, and low-level programming that you can use in your day-to-day development.
69.99 In Stock
Building a Debugger: Write a Native x64 Debugger From Scratch

Building a Debugger: Write a Native x64 Debugger From Scratch

by Sy Brand
Building a Debugger: Write a Native x64 Debugger From Scratch

Building a Debugger: Write a Native x64 Debugger From Scratch

by Sy Brand

Paperback

$69.99 
  • SHIP THIS ITEM
    In stock. Ships in 1-2 days.
  • PICK UP IN STORE

    Your local store may have stock of this item.

Related collections and offers


Overview

Master the inner workings of your x64 Linux system and expand your OS expertise by writing your very own debugger using C++.

If debuggers seem like magic to you, there is no better way to demystify them than to write your own. This book will show you exactly how to do it, walking you through the entire process of building a debugger for x64 Linux systems using C++. As go from an empty filesystem folder to a fully fledged debugger capable of setting breakpoints, stepping through code, manipulating variables, and more, you’ll learn how to:

  • Attach to a process
  • Read and write to registers
  • Set hardware and software breakpoints
  • Output disassembly
  • Support multithreading and other tasks

As you add features to your debugger, you’ll also pick up a wealth of knowledge about operating systems, compilers, software testing, and low-level programming that you can use in your day-to-day development.

Product Details

ISBN-13: 9781718504080
Publisher: No Starch Press
Publication date: 06/10/2025
Pages: 744
Product dimensions: 7.06(w) x 9.25(h) x 1.25(d)

About the Author

Sy Brand is Microsoft’s C++ Developer Advocate. With more than 10 years’ experience in developer tooling, they’ve worked on profilers, compilers, language runtimes, standard libraries, and, of course, debuggers. They’ve also contributed to the standards for C++, DWARF, and HSA.

They graduated from the University of St Andrews with a 1st class degree in computer science, where they specialized in compiler implementation.

Outside the world of technology, they are a published poet, maker of experimental films and music, activist, and parent to three cats and one entire human.

Table of Contents

Acknowledgments
Introduction
Chapter 1: Project Setup
Chapter 2: Compilation and Computer Architecture
Chapter 3: Attaching to a Process
Chapter 4: Pipes, procfs, and Automated Testing
Chapter 5: Registers
Chapter 6: Testing Registers with x64 Assembly
Chapter 7: Software Breakpoints
Chapter 8: Memory and Disassembly
Chapter 9: Hardware Breakpoints and Watchpoints
Chapter 10: Signals and Syscalls
Chapter 11: Object Files
Chapter 12: Debug Information
Chapter 13: Line Tables
Chapter 14: Source-Level Breakpoints and Stepping
Chapter 15: Call Frame Information
Chapter 16: Stack Unwinding
Chapter 17: Shared Libraries
Chapter 18: Multithreading
Chapter 19: DWARF Expressions
Chapter 20: Variables and Types
Chapter 21: Expression Evaluation
Chapter 22: Advanced Topics
Appendix: Check Your Knowledge Answers
Glossary
Index
From the B&N Reads Blog

Customer Reviews