Eclipse以debug模式启动maven项目后,鼠标悬停在变量名上,可以显示变量的值,variables工具栏里也有变量的值,如下图:
选中变量右键,当选择watch时,变量名出现在表达式工具栏里,但没有值,选择inspect、display或者execute时,出现错误提示:
笔者的项目是springboot项目,我是用的maven启动命令启动的该项目,始终出现这个问题,尝试用外置的tomcat启动该项目,断点调试功能全部正常,仔细分析错误提示,将问题锁定在build path中,实际也确实是这里出了问题,具体就是build path中的source设置问题。
原来用外置的tomcat启动,使用的是系统设置的build path,而用maven启动,使用的是maven设置的build path,当前系统的build path设置没问题,而maven中的build path设置有问题,如下图:
系统的build path
maven中设置的build path
可以看到maven中设置的build path中没有指定项目的source,所以才会报错。
具体设置很简单:
右键项目——debug as或者run as——Debug Configurations或者Run Configurations
选择要设置的项目的build名称,切换到source,点击Add
设置好了之后,以debug模式启动该项目,调试功能正常。
ctrl+shift+i
ctrl+shift+d
右键watch习惯哪一种随便调。