Interactive interpreter variables

Breakpoints

Using setters and getters to find what changed a property

Using the console

Including a stack trace when logging - console.trace

Automatically pausing execution

Tabulating values - console.table

Elements inspector

Stepping through code

Break when a function is called