【发布时间】:2014-02-17 15:12:56
【问题描述】:
我有一些依赖,它的行为看起来很可疑。我想其中存在数据竞争问题:我对类的调用之一将一些内部变量设置为 null,而其他调用仍在处理中。这会导致异常。
我想将日志记录插入到该依赖项的某些类中以确保我是对的。
问题是我无法直接修改该依赖项的来源。我通过 Maven 获得它们并且可以在我的想法中看到它们,但仅此而已。我唯一的想法是通过类路径用修改后的版本替换这些类。但可能有更好的方法吗?我可以为此进行一种“热重新部署”吗?
【问题讨论】:
-
如果您不需要并行处理,您还可以将调度程序同步到这个非线程安全库。
-
有AOP,操作字节码,可以拦截调用等。一点重型火炮。
-
除了Joop,看看AspectJ。
-
看看field watchpoints。如果不适合闯入 IDE,您可能想尝试programmatic debugger。
-
据我了解,AOP 只能在评估某些方法之前和之后添加记录器。它无法在方法内部记录。我说的对吗?
标签: java debugging maven intellij-idea