Skip to article
Documentation

Debugging and Phoenix

Inspect Elixir execution and work with LiveView templates.

On this page

Start a debug session#

Create a working Elixir, Mix, test, or IEx configuration and run it normally first. Place a breakpoint on executable code, then choose Debug. The graphical debugger can pause in Elixir source and Elixir segments of supported EEx, LEEx, and HEEx templates.

At a breakpoint, inspect processes, stack frames, and Elixir-aware values such as structs, maps, tuples, binaries, lists, and pids. Evaluate expressions in the selected frame. Use step over, step into, and step out to follow execution; selecting a different frame does not execute code.

Control module interpretation#

Review debugger module filters when a breakpoint fails to bind or stepping enters too much library code. Rebuild after changing sources and verify that the running process uses those artifacts. A breakpoint in an unexecuted template branch will not pause.

Edit Phoenix and LiveView#

Open .heex, .leex, or .eex files within the Mix project. Completion supports assigns, component attributes, slots, built-in Phoenix components, phx-* bindings, and route paths. Use navigation to follow component declarations and live templates or new-file templates for controllers, LiveViews, components, and Ecto schemas.

Refactor source#

Use semantic Rename or supported Extract/Inline/Change Signature/Move actions with their usage preview. Fixed-arity and single-module restrictions apply to some refactorings. Compile and run focused ExUnit tests after changing an API used by templates or generated code.

Manual for version 2026.1.15 · Reviewed