eclipse条件断点和全局变量?

brccelvz  于 2021-06-30  发布在  Java
关注(0)|答案(1)|浏览(400)

我有一个全局变量

static int debugNumber;

以及一个带条件的断点

debugNumber > 1

Suspend thread , Conditional 以及 Suspend when 'true' 选中的。当前,如果我暂停程序的执行并将鼠标悬停在声明上,则显示的值为2。不过,这个断点并没有断开。
就我在google和se上所能看到的 debugNumber > 1 应该没事。我做错什么了?

fkvaft9z

fkvaft9z1#

所以我们很清楚:这一行的意思是:如果代码执行到达这一行(带有断点的那一行),那么执行断点通常执行的操作:冻结线程(或者如果您已经将事情配置为那样,并暂停所有其他线程,这不是默认设置)。但是,条件断点意味着:在像往常一样中断之前,检查条件。如果条件为假,那么什么都不要做。
条件断点的中断频率与普通断点相同,或比普通断点的中断频率低,但从未比普通断点更频繁。
听起来你想要的是在代码库中设置 debugNumber 变量,如果设置为2或更高的值。如果那是你想要的,做一个'手表' debugNumber 并将监视配置为中断执行。
如果这不是你想要的,那么,好吧,你在描述中没有犯错误,所以这是十几亿个可能是错误的事情之一:
带断点的线从未被击中。
遇到断点时,debugnumber为1或更少。
您使用“run”来启动应用程序,而不是“debug”(几乎没有理由“运行”任何东西,总是选择“debug”)
eclipse中的全局“disable all breakpoints”切换已被关闭。它在工具栏上(除非你改变了东西):一个更大的“断点点”(蓝色圆圈),上面有一条大斜线。这是一个切换按钮。压进去了吗?
eclipse调试器已取消同步。如果发生这种情况,它会抛出一个对话框,但该对话框中的一个选项是“忽略现在和将来”(这是一个更简洁的文本,但这是它的要点)。如果你按过它,它就会失同步。调试视图将告诉您。如果在eclipse运行时更改编译的代码,或者更改源文件中的签名并在运行过程中保存源文件,就会发生这种情况。
还有很多事情

相关问题