目前,我拥有的唯一信息是浏览器状态栏中的单行错误消息。你知道我如何获得堆栈跟踪吗? 最佳答案 除了明显使用Java控制台和小程序查看器,从Java6更新7开始,您可以使用VisualVMJDK(JDK_HOME/bin/visualvm)附带的。它允许您查看每个线程的堆栈跟踪,甚至可以查看所有对象实例。AppletViewer非常方便,您可以从Eclipse中执行“Runas/JavaApplet”来运行,或者“DebugAs/JavaApplet”来调试您的applet类。然而,有时为了调试一些与安全相关的东西,浏览器插件环境与a
我真的很喜欢JVM的远程调试工具。但我想知道它在内部是如何工作的。我的假设:它是通过JVM功能完成的,其中正在运行的进程正在从附加的远程调试器(如IDE)下载/使用源代码它知道当前堆栈跟踪的行,然后可以跳转到相应的IDE断点。然后通过套接字或共享内存(远程调试器的设置)完成堆栈跟踪的通信和应用程序状态的自省(introspection)。有什么有趣的链接/资源吗? 最佳答案 JVM的调试功能通过JavaPlatformDebuggerArchitecture(JPDA)提供。.JPDA本身由以下部分组成:Java虚拟机工具接口(in
我真的很喜欢JVM的远程调试工具。但我想知道它在内部是如何工作的。我的假设:它是通过JVM功能完成的,其中正在运行的进程正在从附加的远程调试器(如IDE)下载/使用源代码它知道当前堆栈跟踪的行,然后可以跳转到相应的IDE断点。然后通过套接字或共享内存(远程调试器的设置)完成堆栈跟踪的通信和应用程序状态的自省(introspection)。有什么有趣的链接/资源吗? 最佳答案 JVM的调试功能通过JavaPlatformDebuggerArchitecture(JPDA)提供。.JPDA本身由以下部分组成:Java虚拟机工具接口(in
在我正在调试的方法中,我正在生成一个新线程。我需要调试这个新线程而不是父线程的执行。如何在Eclipse中做到这一点? 最佳答案 除了ShamitVerma的回答:在处理调试多线程Java应用程序时,最好不要使用仅暂停设置断点的线程的标准断点。在应用程序中定义标准断点只会中断相关线程。其他线程仍将运行。在eclipse调试器中,如果其他线程已经启动,由于某种原因会导致调试器跳过断点。调试Java的解决方案:在所需线程中定义断点(我期望的@Run()方法..),在断点处右键->断点属性。在断点属性对话框中勾选“SuspendVM”而不
在我正在调试的方法中,我正在生成一个新线程。我需要调试这个新线程而不是父线程的执行。如何在Eclipse中做到这一点? 最佳答案 除了ShamitVerma的回答:在处理调试多线程Java应用程序时,最好不要使用仅暂停设置断点的线程的标准断点。在应用程序中定义标准断点只会中断相关线程。其他线程仍将运行。在eclipse调试器中,如果其他线程已经启动,由于某种原因会导致调试器跳过断点。调试Java的解决方案:在所需线程中定义断点(我期望的@Run()方法..),在断点处右键->断点属性。在断点属性对话框中勾选“SuspendVM”而不
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter寻求指导。关闭9年前。当Java应用程序挂起时,您甚至不知道导致此问题的用例并想要调查,我知道线程转储可能很有用。但是我们如何才能轻松地从线程转储中获取有用的数据以找出问题所在呢?我一直在使用的服务器应用程序会产生非常长的线程转储,因为它是一个EJB架构,并且线程转储包含许多我不确定是否应该查看的容器线程(即没有运行我的应用程序代码的线程,而是JBoss的代码)。昨天我尝试
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter寻求指导。关闭9年前。当Java应用程序挂起时,您甚至不知道导致此问题的用例并想要调查,我知道线程转储可能很有用。但是我们如何才能轻松地从线程转储中获取有用的数据以找出问题所在呢?我一直在使用的服务器应用程序会产生非常长的线程转储,因为它是一个EJB架构,并且线程转储包含许多我不确定是否应该查看的容器线程(即没有运行我的应用程序代码的线程,而是JBoss的代码)。昨天我尝试
从最近开始,在EclipseGalileo中以Debug模式运行程序要慢得多。我不知道有任何变化。你知道可能是什么原因吗?正常运行是没有问题的。 最佳答案 另一个“调试中断”是使用方法进入/退出断点。您是否尝试过一次删除所有断点定义?有时我认为Eclipse与它的某些内部/显示状态不同步。也许您应该尝试设置工作区的新(而不是副本)。这有时可以帮助我从虚假特征中恢复过来。这是删除所有断点的方法Eclipse->运行->删除所有断点-用于删除所有时间的所有断点Eclipse->运行->跳过所有断点-用于临时删除断点
从最近开始,在EclipseGalileo中以Debug模式运行程序要慢得多。我不知道有任何变化。你知道可能是什么原因吗?正常运行是没有问题的。 最佳答案 另一个“调试中断”是使用方法进入/退出断点。您是否尝试过一次删除所有断点定义?有时我认为Eclipse与它的某些内部/显示状态不同步。也许您应该尝试设置工作区的新(而不是副本)。这有时可以帮助我从虚假特征中恢复过来。这是删除所有断点的方法Eclipse->运行->删除所有断点-用于删除所有时间的所有断点Eclipse->运行->跳过所有断点-用于临时删除断点
我正在使用IntelliJ9,我很好奇是否有任何与VisualStudio“即时”调试窗口等效的IntelliJ。在编辑器中选择所需的表达式,然后ALT-F8来评估表达式,但我希望能够在与交互的窗口中编写代码我目前正在调试的内容(如果可能的话)。拥有将消息记录到控制台的断点很有帮助,但如果可以的话,我想做更多的事情。 最佳答案 IntellijIDEA的表达式评估对话框有一个按钮来启用代码片段模式,它允许多语句评估。(我使用的是终极版的9.0.2版本。) 关于java-IntelliJ的