To break on all exceptions, caught or uncaught:
- Open the Breakpoints window via Run -> View Breakpoints.
- The Breakpoints dialog appears. In the left pane, scroll to the bottom. Select Any exception under Java Exception Breakpoints
- With Any exception selected, on the right pane, configure as follows:
- Suspend: checked
- All: selected
- Condition:
!(this instanceof java.lang.ClassNotFoundException)
- Notifications: both Caught exception and Uncaught exception selected
- Define filters that specify namespaces of libraries that the debugger should break on: Check the Class filters checkbox to enable class filtering (as mentioned by @Scott Barta). Then click the … (elipsis) button to open the Class Filters dialog. Specify class namespace patterns by clicking on the (Add Pattern) button. Enter:
com.myapp.*
(replace this with the namespace prefix of your app)java.*
(note: as per OP’s question, leave this out to NOT break on Java libraries)android.*
(as above, leave out to just debug own app code)- Add any additional namespaces as necessary (e.g. 3rd party libraries)
- Press OK, then dismiss the Breakpoints dialog.