gpt4 book ai didi

java - Eclipse - 如何调试输入参数更改

转载 作者:行者123 更新时间:2023-12-04 05:46:55 25 4
gpt4 key购买 nike

我有以下问题,我们甚至可以称之为经典问题:

public void myMethod(Map<Object, Object> parameter){

someOtherObject.method(parameter);
.
.
.
someOtherThirdPartyObject.method(parameter);

}

突然,最后某个方法触及了输入参数Map,我不知道在哪里以及如何。现在,我知道使参数不可变是可取的,但事实并非如此,这就是问题的根源。例如,myMethod 中的方法旨在执行一些验证,但它们也做了更多的验证,这在设计上是错误的。

那么,问题是如何在此方法中创建一个断点,如果此参数 Map 的属性发生更改,则执行会暂停?在每个方法调用之后放置一个条件断点可能是个好主意,但是如果您有 20 多个方法,那就相当痛苦了。

当这个输入参数改变时如何调试?

最佳答案

您想要的似乎被称为“观察点”。我实际上不知道这个功能存在,我曾经在 Eclipse 项目上工作!

http://help.eclipse.org/indigo/index.jsp?topic=%2Forg.eclipse.cdt.doc.user%2Ftasks%2Fcdt_t_add_watch.htm

看起来您必须弄清楚正在编辑哪些字段,然后使用上面的帮助文档设置“写入”观察点。

此外,Eclipse 会突出显示已修改的变量,因此如果您一一跳过方法调用,您将能够看到哪个正在修改值(以及正在修改哪个字段),因为它将突出显示(亮黄色,由默认)在“调试”视角的“变量”选项卡中。一旦你知道修改数据的方法,你可以再次运行调试,但这次调试改变值的方法,并不断重复直到找到问题。

关于java - Eclipse - 如何调试输入参数更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10562347/

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