Advanced Apple Debugging & Reverse Engineering: Exploring Apple code through LLDB, Python and DTrace

raywenderlich.com Team, Derek Selander

  • 出版商: Razeware LLC
  • 出版日期: 2017-03-14
  • 售價: $2,130
  • 貴賓價: 9.5$2,024
  • 語言: 英文
  • 頁數: 478
  • 裝訂: Paperback
  • ISBN: 1942878338
  • ISBN-13: 9781942878339
  • 相關分類: Python程式語言
  • 無法訂購

商品描述

Explore Apple code through LLDB, Python and Dtrace!

Learn the powerful secrets of Apple's software debugger, LLDB, that can get more information out of any program than you ever thought possible.

In Advanced Apple Debugging and Reverse Engineering, you'll come to realize debugging is an enjoyable process to help you better understand software. Not only will you learn to find bugs faster, but you’ll also learn how other developers have solved problems similar to yours. You'll also learn how to create custom, powerful debugging scripts that will help you quickly find the secrets behind any bit of code that piques your interest.

Who This Book Is For

This book is for intermediate to advanced iOS/macOS developers who are already familiar with either Swift or Objective-C and want to take their debugging skills to the next level.

Topics Covered in Advanced Apple Debugging & Reverse Engineering
  • LLDB Max Achievement: Master LLDB and learn about its extensive list of subcommands and options.
  • 1's and 0's: Learn the low-level components available to help extract useful information from a program, from assembly calling conventions to exploring the process of dynamically-loaded frameworks.
  • The Power of Python: Use LLDB’s Python module to create powerful custom debugging commands to introspect and augment existing programs.
  • Nothing is Secret: Learn how to use Dtrace, a dynamic tracing framework, and how to write D scripts to query anything you were ever curious about on your macOS machine.
  • Case Studies: Quickly find and solve the real-world issues that iOS and macOS developers typically face in their day-to-day development workflow.

After reading this book, you'll have the tools and knowledge to answer even the most obscure question about your code — or someone else’s.