{"product_id":"building-a-debugger-isbn-9781718504080","title":"Building a Debugger","description":"\u003cb\u003eMaster the inner workings of your x64 Linux system and expand your OS expertise by writing your very own debugger using C++.\u003c\/b\u003e\u003cbr\u003e\u003cbr\u003eIf 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:\u003cbr\u003e\u003cbr\u003e\u003cul\u003e\n\u003cli\u003eAttach to a process\u003c\/li\u003e\n\u003cli\u003eRead and write to registers\u003c\/li\u003e\n\u003cli\u003eSet hardware and software breakpoints\u003c\/li\u003e\n\u003cli\u003eOutput disassembly\u003c\/li\u003e\n\u003cli\u003eSupport multithreading and other tasks\u003c\/li\u003e\n\u003c\/ul\u003e\u003cbr\u003eAs 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.Acknowledgments\u003cbr\u003eIntroduction\u003cbr\u003eChapter 1: Project Setup\u003cbr\u003eChapter 2: Compilation and Computer Architecture\u003cbr\u003eChapter 3: Attaching to a Process\u003cbr\u003eChapter 4: Pipes, procfs, and Automated Testing\u003cbr\u003eChapter 5: Registers\u003cbr\u003eChapter 6: Testing Registers with x64 Assembly\u003cbr\u003eChapter 7: Software Breakpoints\u003cbr\u003eChapter 8: Memory and Disassembly\u003cbr\u003eChapter 9: Hardware Breakpoints and Watchpoints\u003cbr\u003eChapter 10: Signals and Syscalls\u003cbr\u003eChapter 11: Object Files\u003cbr\u003eChapter 12: Debug Information\u003cbr\u003eChapter 13: Line Tables\u003cbr\u003eChapter 14: Source-Level Breakpoints and Stepping\u003cbr\u003eChapter 15: Call Frame Information\u003cbr\u003eChapter 16: Stack Unwinding\u003cbr\u003eChapter 17: Shared Libraries\u003cbr\u003eChapter 18: Multithreading\u003cbr\u003eChapter 19: DWARF Expressions\u003cbr\u003eChapter 20: Variables and Types\u003cbr\u003eChapter 21: Expression Evaluation\u003cbr\u003eChapter 22: Advanced Topics\u003cbr\u003eAppendix: Check Your Knowledge Answers\u003cbr\u003eGlossary\u003cbr\u003eIndexSy 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.\u003cbr\u003e\u003cbr\u003eThey graduated from the University of St Andrews with a 1st class degree in computer science, where they specialized in compiler implementation.\u003cbr\u003e\u003cbr\u003eOutside 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.","brand":"No Starch Press","offers":[{"title":"Default Title","offer_id":46304928596197,"sku":"NP9781718504080","price":69.99,"currency_code":"USD","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1842\/7735\/files\/9781718504080.jpg?v=1767723164","url":"https:\/\/k12savings.com\/es\/products\/building-a-debugger-isbn-9781718504080","provider":"K12savings","version":"1.0","type":"link"}