gpt4 book ai didi

java - Eclipse 条件断点损坏了吗?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:50:40 25 4
gpt4 key购买 nike

我试图在反编译代码中设置条件断点,但 Eclipse 一直给我错误:

Conditional breakpoint has compilation error(s)

Reason: Evaluations must contain either an expression or a block of well-formed statments

我的情况非常简单,只是尝试与字符串值进行比较。我已经尝试了以下所有方法,但每一个都出现错误:

myObj.toString() == "abc123"
myObj.toString().equals("abc123")
if(myObj.toString() == "abc123"){ return true; }
true == true

我还尝试了在行尾有或没有分号的每一种组合、间距和换行符的每一种组合以及围绕我的条件有或没有 {} 的每一种组合。基本上,我不知道为什么这不起作用...

我尝试调试的代码位于一个用 JD-Eclipse 反编译的 jar 中。正常断点在此代码中工作正常。

有人知道这里发生了什么吗???

最佳答案

Eclipse FAQ页面包含正确的 CBP 定义的语法以及它们不起作用的最常见原因。对于您的情况,我认为以下情况适用:

This can happen if you are setting a breakpoint in a class whose class file does not contain a local variable table. For example, let's say you want to set a conditional breakpoint on Class.forName(String). If you have a source attachment for rt.jar the content assist will allow you to refer to the argument by its variable name, className. However, at debug runtime, the variable name will only be known if the class file contains a local variable table. Depending on the options used at compilation time, this information may have been stripped from the class file.

JD 可能在反编译您的 jar 时编造了变量名,因此在条件表达式中使用“myObj”会产生编译时错误。

关于java - Eclipse 条件断点损坏了吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10248795/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com