0PricingLogin
Production Debugging & Incident Response Playbook · Lesson

Remote Debugging Live Applications

Set up and execute remote debugging sessions on production or staging environments to inspect live code execution.

What is Remote Debugging?

Welcome to remote debugging! This powerful technique lets you connect a debugger to an application running on a different machine or process.

Imagine your app is running on a server far away. Remote debugging allows your local development environment (your IDE) to 'talk' to that running app, letting you:

  • Set breakpoints
  • Inspect variables
  • Step through code line by line

It's like having your local debugger attached to a program across the network!

How Remote Debugging Works

Remote debugging works on a client-server model:

  • Debuggee (Server): This is your application running on the remote machine. It needs to be started with special debug agent arguments, which make it listen for debugger connections on a specific port.
  • Debugger (Client): This is your local IDE (e.g., IntelliJ, VS Code) that connects to the debuggee's listening port.

Once connected, the debugger sends commands (like 'set breakpoint' or 'step over') to the debuggee, and the debuggee sends back information (like variable values or current execution line).

All lessons in this course

  1. Remote Debugging Live Applications
  2. Post-mortem Debugging with Core Dumps
  3. Memory and CPU Profiling Techniques
  4. Distributed Tracing for Latency Hotspots
← Back to Production Debugging & Incident Response Playbook