Perhaps you have pushed the Skip all Breakpoints button in the Breakpoints view.
Answer from Fabian Steeg on Stack OverflowPerhaps you have pushed the Skip all Breakpoints button in the Breakpoints view.
Thanks guys, this really saved my day too. I antecedently pressed on skip break points, if you did the same this will result on break point appearing with a backslash icon on them.
To bring it back to normal:
- Switch to Debug perspective.
- press on the breakpoints view tap -->> upper right hand corner of the screen, you also can go there by Window->show view-> breakpoints.
- 5th icon from the left you will see break point with backslash. press on that one.
To confirm, try putting break point on any line, and it should appear normally.
java - Eclipse - debugger doesn't stop at breakpoint - Stack Overflow
java - Breakpoint at "throw new SilentExitException()" in Eclipse + Spring Boot - Stack Overflow
Debug mode is not working - Genuitec
java - Eclipse Debugging - Stopping without a breakpoint - Stack Overflow
Videos
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.
Add the property as a VM argument:
-Dspring.devtools.restart.enabled=false

That way you don't have to change your code, as it is the case when using:
System.setProperty("spring.devtools.restart.enabled", "false");
I had the same problem and finally found the following configuration option: Windows -> Preferences -> Java -> Debug -> Suspend execution on uncaught exceptions I unchecked it, and the problem disappeared. However, may be it's good to know about uncaught exceptions. I just disabled it because the problem was in Spring framework, not in my code, and hence I could correct nothing... Hope it helps :)
Eclipse also supports exception break points (which stop your program when a certain exception is thrown). You can see them in the "Breakpoints" panel of the debugger. In your case, this could be a ClassCastException, for example.
If that panel is empty, then it can be a bug in your Java VM or maybe you have two processes open in the debugger. If all else fails, try to debug it in Eclipse 3.5.1.
The goal spring-boot:run forks java process and your application is started in the other one then your debugger is attached. You have to use that page http://docs.spring.io/spring-boot/docs/current/maven-plugin/examples/run-debug.html to setup correct debugging parameters for forked process and then use IntelliJ's feature "Remote Debug".
Set VM options in Run/Debug Configuration as:
-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005
Image : https://i.sstatic.net/BIKdl.png
I have suffered this. To fix it, just goto Run->Remove All Breakpoints in the menu. It will remove it. Later you can redefine your required breakpoints again.
If you are sure that there aren't breakpoints (Run > Remove All Breakpoints), then there are 2 things to consider:
- You are misunderstanding something of how the debugger works.
- Your program is stopped because it's waiting for some input.
This is covered in better detail here - https://stackoverflow.com/a/47064387/13737427
TL;DR because spring-boot:run forks, the debugger is not attached to the right process.
use the follow maven goal to not fork:
spring-boot:run -Dspring-boot.run.fork=false
Not sure why my steps laid out in the question do not work but I instead chose to debug this is a vanilla Java app with a main method (Since Spring boot apps have a main method to bootstrap). Could've been a bug in the IDE or the specific version of Spring boot.

Make sure you haven't clicked on the little icon on top of Breakpoints tab in Debugger section. it will skip all breakpoints as you can see on its Tooltip.
It's possible that the method is never called. Try moving your breakpoint right before where you think the method is called (or where you are 100% certain that it will be executed) and then go step by step and see if the method is called at all.