Breakpoint at "throw new SilentExitException()" in Eclipse + Spring Boot

Bruno De Freitas Barros picture Bruno De Freitas Barros · Sep 24, 2015 · Viewed 33k times · Source

Every time I run my Spring Boot project on debug mode in Eclipse IDE (Spring Tool Suite), the thread stops at throw new SilentExitException(); line even without a breakpoint.

Is there some solution to avoid this behavior ?

org.springframework.boot.devtools.restart.SilentExitExceptionHandler.exitCurrentThread() (line 53):

public static void exitCurrentThread() {
    throw new SilentExitException();
}

This starts happening after upgrade to 1.3.0 Milestones.

Spring Tool Suite

Version: 3.7.0.RELEASE
Build Id: 201506290649

Platform:

Eclipse Luna SR2 (4.4.2)

Answer

Phil Webb picture Phil Webb · Sep 25, 2015

This is unfortunately a know issue with the new spring-boot-devtools module (see https://github.com/spring-projects/spring-boot/issues/3100). We use this trick to kill the main thread so that we can replace it with a re-loadable version. So far I've not found a way to prevent the debug breakpoint from triggering.

For now, you can toggle the "suspend execution on uncaught exceptions" checkbox in Java -> Debug preferences to prevent it from happening.