@@ -101,6 +101,7 @@ protected void clearErrorMessage() {
101101 private Button fShowStepResult ;
102102 private Button fShowStepResultRemote ;
103103 private Button fAdvancedSourcelookup ;
104+ private Button fExceptionBreakpoint ;
104105
105106 // Timeout preference widgets
106107 private JavaDebugIntegerFieldEditor fTimeoutText ;
@@ -187,6 +188,8 @@ protected Control createContents(Composite parent) {
187188 fPromptDeleteConditionalBreakpoint = SWTFactory .createCheckButton (composite , DebugUIMessages .JavaDebugPreferencePage_promptWhenDeletingCondidtionalBreakpoint , null , false , 1 );
188189 fFilterUnrelatedBreakpoints = SWTFactory .createCheckButton (composite , DebugUIMessages .JavaDebugPreferencePage_filterUnrelatedBreakpoints , null , false , 1 );
189190
191+ fExceptionBreakpoint = SWTFactory .createCheckButton (composite , "Create/Show Exception breakpoint on clicking exceptions" , null , true , 1 ); //$NON-NLS-1$
192+
190193 SWTFactory .createVerticalSpacer (composite , 1 );
191194 fOnlyIncludeExportedEntries = SWTFactory .createCheckButton (composite , DebugUIMessages .JavaDebugPreferencePage_only_include_exported_entries , null , false , 1 );
192195
@@ -251,6 +254,7 @@ public boolean performOk() {
251254 prefs .putInt (JDIDebugModel .PREF_REQUEST_TIMEOUT , fTimeoutText .getIntValue ());
252255 prefs .putBoolean (JDIDebugModel .PREF_FILTER_BREAKPOINTS_FROM_UNRELATED_SOURCES , fFilterUnrelatedBreakpoints .getSelection ());
253256 prefs .putBoolean (JDIDebugPlugin .PREF_ENABLE_ADVANCED_SOURCELOOKUP , fAdvancedSourcelookup .getSelection ());
257+ prefs .putBoolean (JDIDebugModel .PREF_CREATE_EXCEPTION_BREAKPOINTS_ON_CLICK , fExceptionBreakpoint .getSelection ());
254258 try {
255259 prefs .flush ();
256260 }
@@ -299,7 +303,8 @@ protected void performDefaults() {
299303 fShowStepResultRemote .setSelection (prefs .getBoolean (JDIDebugModel .PREF_SHOW_STEP_RESULT_REMOTE , true ));
300304 fShowStepTimeoutText .setStringValue (Integer .toString (prefs .getInt (JDIDebugModel .PREF_SHOW_STEP_RESULT , JDIDebugModel .DEF_SHOW_STEP_TIMEOUT )));
301305 fTimeoutText .setStringValue (Integer .toString (prefs .getInt (JDIDebugModel .PREF_REQUEST_TIMEOUT , JDIDebugModel .DEF_REQUEST_TIMEOUT )));
302- fFilterUnrelatedBreakpoints .setSelection (prefs .getBoolean (JDIDebugModel .PREF_FILTER_BREAKPOINTS_FROM_UNRELATED_SOURCES , true ));
306+ fFilterUnrelatedBreakpoints .setSelection (prefs .getBoolean (JDIDebugModel .PREF_CREATE_EXCEPTION_BREAKPOINTS_ON_CLICK , true ));
307+ fExceptionBreakpoint .setSelection (prefs .getBoolean (JDIDebugModel .PREF_CREATE_EXCEPTION_BREAKPOINTS_ON_CLICK , true ));
303308 fAdvancedSourcelookup .setSelection (prefs .getBoolean (JDIDebugPlugin .PREF_ENABLE_ADVANCED_SOURCELOOKUP , true ));
304309 }
305310 prefs = DefaultScope .INSTANCE .getNode (LaunchingPlugin .ID_PLUGIN );
@@ -343,6 +348,7 @@ private void setValues() {
343348 fShowStepTimeoutText .setStringValue (Integer .toString (prefs .getInt (bundleId , JDIDebugModel .PREF_SHOW_STEP_TIMEOUT , JDIDebugModel .DEF_SHOW_STEP_TIMEOUT , null )));
344349 fTimeoutText .setStringValue (Integer .toString (prefs .getInt (bundleId , JDIDebugModel .PREF_REQUEST_TIMEOUT , JDIDebugModel .DEF_REQUEST_TIMEOUT , null )));
345350 fFilterUnrelatedBreakpoints .setSelection (prefs .getBoolean (bundleId , JDIDebugModel .PREF_FILTER_BREAKPOINTS_FROM_UNRELATED_SOURCES , true , null ));
351+ fExceptionBreakpoint .setSelection (prefs .getBoolean (bundleId , JDIDebugModel .PREF_CREATE_EXCEPTION_BREAKPOINTS_ON_CLICK , true , null ));
346352 fAdvancedSourcelookup .setSelection (prefs .getBoolean (bundleId , JDIDebugPlugin .PREF_ENABLE_ADVANCED_SOURCELOOKUP , true , null ));
347353
348354 bundleId = LaunchingPlugin .ID_PLUGIN ;
0 commit comments