# Debugging It is possible to debug Fuchsia binaries using `zxdb`. For the sake of this example, we will be using `base_unittests` as the test suite we wish to execute: 1. (From Chromium) Install your package(s) and its symbols onto the device. ```bash $ out/fuchsia/bin/install_base_unittests ``` 2. (From Fuchsia source tree) Run the debugger. ```bash $ fx debug ``` 3. Set up the debugger to attach to the process. ``` [zxdb] attach base_unittests.cmx ``` 4. Configure breakpoint(s). ``` [zxdb] break base::GetDefaultJob ``` 5. (In another terminal, from Fuchsia source tree) Run the test package. ```bash $ fx shell run fuchsia-pkg://fuchsia.com/base_unittests#meta/base_unittests.cmx ``` 6. At this point, you should hit a breakpoint in `zxdb`. ``` [zxdb] f ▶ 0 base::GetDefaultJob() • default_job.cc:18 1 base::$anon::LaunchChildTestProcessWithOptions(…) • test_launcher.cc:335 2 base::$anon::DoLaunchChildTestProcess(…) • test_launcher.cc:528 3 base::TestLauncher::LaunchChildGTestProcess(…) • test_launcher.cc:877 ... ``` 7. Enjoy debugging! Steps 2 through 6 will also work for things like services which aren't run directly from the command line, such as WebEngine. Run `help` inside ZXDB to see what debugger commands are available.