Книги / Языки программирования / Другие языки / Building a Debugger: Write a Native x64 Debugger from Scratch

Building a Debugger: Write a Native x64 Debugger from Scratch

Sy Brand

Эта книга предлагает уникальное путешествие в глубины отладки программного обеспечения. Вы узнаете, что на самом деле происходит, когда вы устанавливаете точку останова или выполняете код по шагам. Автор раскрывает сложные внутренние механизмы систем, которые вы используете каждый день, и в итоге вы напишете полностью функциональный нативный отладчик для x64 Linux.

В процессе создания отладчика вы исследуете ядро Linux, познакомитесь с инструментарием компилятора, изучите основы ассемблера x64 и даже напишете интерпретаторы байт-кода отладочной информации. Вы также расширите свой отладчик такими функциями, как трассировка общих библиотек, поддержка многопоточности и манипулирование регистрами.

Готовый отладчик позволит вам: использовать операционную систему, аппаратное обеспечение и соглашения платформы для проверки состояния процесса; ориентироваться в формате исполняемых файлов ELF для понимания структуры программы в файловой системе и в памяти; интерпретировать отладочную информацию DWARF для сопоставления машинного кода с исходным кодом; находить и визуализировать переменные в работающей программе; вызывать функции внутри отлаживаемого процесса по требованию; разворачивать стек вызовов программы для генерации обратных трассировок.

Независимо от того, являетесь ли вы любопытным программистом, специалистом по реверс-инжинирингу или разработчиком инструментов, эта книга даст вам ценное понимание того, как на самом деле работают компьютеры, и сделает вас более эффективным программистом.