【发布时间】:2011-02-14 08:58:14
【问题描述】:
我使用 JDB 远程调试我的应用程序,只有 JDB,没有 IDE,在 jdb 中有没有办法设置条件断点?
例如:停在 MyClass:80 当 mystr.equals("abc")
【问题讨论】:
我使用 JDB 远程调试我的应用程序,只有 JDB,没有 IDE,在 jdb 中有没有办法设置条件断点?
例如:停在 MyClass:80 当 mystr.equals("abc")
【问题讨论】:
Java 调试器不支持条件断点。如果您有“窗口环境”,另一种选择是使用 Eclipse 之类的 IDE,然后在 Debug 透视图中工作。在那里你会发现那些不错的功能,比如条件断点。
【讨论】:
Jdb 不支持条件断点,但作为最后的手段,您可以尝试使用 gcj 编译程序并使用 gdb 进行调试,它确实支持条件断点。根据您项目的复杂性,这可能是也可能不是可行的选择。您可能还可以使用其他鲜为人知的命令行调试器。
【讨论】:
好吧,设置条件断点的一种巧妙方法是创建一个 if 语句,将 System.out.print("") 放入其中并告诉 jdb 在该行停止。我想有更全面的方法来解决这个问题(正如其他人所指出的那样)。
【讨论】: