如何告诉远程调试器在某个时刻实际挂起?

时间:2011-07-12 11:41:47

标签: java eclipse intellij-idea remote-debugging hyperic

我正在使用IntelliJ Idea调试器,我有一些第三方应用程序及其来源(应该没关系,但它是超级的)。我需要查看何时执行某些方法并跟踪执行过程。我已经使用远程应用程序调试成功连接到应用程序,但无法确定下一步该做什么。 O_O

可以暂停应用程序,但是如何附加源并告诉它何时完全挂起(方法调用/代码行/等)?

编辑:或者我可以使用eclipse(如果它正常工作则无关紧要。)

EDIT2:这不是我的项目/模块之一。

3 个答案:

答案 0 :(得分:1)

在编辑器中打开源代码并设置断点。

调试器应该足够聪明,以确定您想要实现的目标。

[编辑] 创建一个包含源和所有JAR的小项目。这应该编译没有错误,并允许您设置断点。

在Eclipse中,您可以将源附加到JAR。这样,您可以设置断点。

答案 1 :(得分:1)

要调试远程应用程序,您需要在Eclipse(无论IDE)项目中使用它的源代码。然后只需设置断点并使用适当的端口启动远程调试器。

答案 2 :(得分:1)

源代码是否可能与正在执行的代码不同步?我之前已经发生这种情况,因此我设置的断点实际上是根据远程机器的代码版本在非可执行行(空白,注释)上。

我见过这样的事情的唯一另一次是远程机器运行多个JVM并且我不小心连接到错误的端口(因而错误的JVM)。

当您调试时,表示断点的红点应稍微改变,在调试时它看起来像什么?例如,如果该行是不可执行的,我认为该点顶部会有一个X.