在以下情况下Eclipse Debugger发生了什么情况?为什么调试指针移动到源方法的第一行而不是移动到调试指针当前存在的方法的第一行?
第1类:
public class Sample {
public static void sourceMethod(BeanClass bean, Map<String, List<String>> hmMap){
try {
System.out.println();
enterData(bean, hmMap);
} catch (Exception e) {
e.getMessage();
}
}
public static void enterData(BeanClass bean, Map<String, List<String>> hmMap){
try {
System.out.println("hello");//Comment or Uncomment this line while debugging
System.out.println("Value : "+hmMap.get("KeyValue").get(0));
bean.setResult(true);
} catch (Exception e) {
e.printStackTrace();
bean.setResult(false);
}
}
public static void main(String args[]){
BeanClass bean = new BeanClass();
Map<String, List<String>> hmMap = new HashMap<String, List<String>>();
List<String> list = new ArrayList<String>();
list.add("hi");
list.add("hello");
hmMap.put("KeyValue", list);
Sample.sourceMethod(bean, hmMap);
}
}
二级:
public class BeanClass {
private boolean result = false;
public boolean getResult() {
return result;
}
public void setResult(boolean setResult) {
this.result = setResult;
}
}
预期方案:当一段代码被编辑并保存在所述调试指针是当前存在,则方法调试指针应该移动到调试指针当前所在方法的第一行。
实际场景:当一段代码被编辑并保存在所述调试指针是当前存在的方法则调试指针移动到源方法的第一行,而不是移动到方法,其中调试的第一线指针当前存在。
对我来说,它按预期工作,Eclipse 4.6 – Zefick
@ChrisH编辑代码并简化代码!更新了上面的代码。 –
@Zefick尝试更新的代码! –