# Java Debug Preferences

The following preferences can be set using the Java > Debug preference page.

These options apply to java specific debuggers and have to do with suspending options and hot code replace.

Option | Description | Default
--- | --- | ---
Suspend execution on uncaught exceptions | This option controls if a program will suspend if an uncaught exception is thrown. For example if you try to call a method on a null object and a NullPointerException is thrown, with this option on your prgram will suspend at the location the exception was thrown | On
Suspend execution on compilation errors | This option controls if a program will suspend when a compilation error is encountered | On
Suspend on breakpoints during evaluations | This options controls if breakpoints will suspend during an evaluation of code containing a breakpoint. For more information about evaluations go here | On
Open popup when suspended on exception | This option controls if a popup window will be displayed when execution of a program stops on an exception. The exception the program suspended on is made available for inspection in the popup | Off
Default suspend policy for new breakpoints | This option allows the default suspend policy to be set for new breakpoints. The suspend policy is used by breakpoints to tell the VM what to suspend, in this case either the thread the breakpoint is active in or the entire running VM | Suspend Thread
Show error when hot code replace fails | This option controls if the user will be presented with an error dialog when a hot code replace fails | On
Show error when hot code replace is not supported | This option controls if the user will be presented with an error dialog when hot code replace is not supported, and the user has made and saved changes to currently running code | On
Show error when obsolete methods remain after hot code replace | This option controls if the user will be presented with an error dialog when a hot code replace completed, but there were obsolete methods left over | On
Replace class files containing compilation errors | This option controls is class files containing compilation errors will be replaced | On
Debugger timeout | This option describes the length of time (in milliseconds) the debugger will wait trying to communicate with a running VM before giving up and disconnecting | 3000
Launch timeout | This option describes the length of time (in milliseconds) that a launch will wait to complete the launching process before giving up and terminating. This option has no bearing on the length of time a program will run, only how long the process of trying to run a program will wait | 20000
Warn when unable to install breakpoint due to missing line number attributes | This option controls if the user will be notified if they try to set a line breakpoint on a line that has invalid line information | On

Debugger
Java perspectives
Java views
Local debugging
Remote debugging

Launching a Java program
Running and debugging

Detail Formatters Preferences
Heap Walking Preferences
Installed JREs Preferences
Logical Structures Preferences
Primitive Display Preferences
Run/Debug Preferences
Step Filtering Preferences