Skip to main content

One post tagged with "Virtual Memory"

View All Tags

Process Memory Layout on macOS ARM64: Address Spaces, Mach-O Segments, and Debugging with LLDB

· 37 min read
Pranav Ram Joshi
Software Engineer — Systems & Networks

Tools for Inspecting Process Memory and Object Files

Before we even step into the world of virtual memory and process address spaces, let's first learn of some tools which might come in handy when dealing with source programs (we'll describe them in lengths later):

  1. Object File Inspection. This can be done through various tools such as otool, objdump, and llvm-objdump.
  2. Debugger. Tools such as gdb and lldb can be helpful when inspecting how the program executes.
  3. Virtual Memory Information. Sometimes, we need to see how a process has arranged its virtual memory space. Tools such as vmmap, leaks, and pmap (also potentially strace) can be used for this purpose.

Other tools can come handy frequently as well. For instance, if we want to list the "files" currently owned by the process, lsof provides useful information.