Tag: 调试

Java调试器:是否可以选择性地挂起线程?

在我过去作为C / C ++程序员的生活中,在某些平台和调试器组合上有可能选择性地挂起线程。 在点击断点之后,可以发出命令(或点击GUI中的内容)来冻结/解冻(暂停/唤醒)线程。 在进一步的step / next / run / continue命令时,挂起的线程不会执行任何指令。 今天可以使用任何JVM或Java IDE吗? 我使用IntelliJ而我看不到该function,也无法通过Google找到任何信息。 澄清: 我不是在询问断点的线程策略,例如,挂起当前线程或所有线程。 我知道JVM调试器function。 开发环境是vanilla:我使用IntelliJ Java IDE,我可以访问相关的源代码。 最后,我意识到“Java调试器”是一个有点模糊的术语。 AFAIK,Sun发布了一种调试线程格式,调试器使用该格式与JVM进行通信。 也许每个JVM(IBM vs Sun vs IcedTea vs ???)支持不同的调试function,但我只熟悉Sun / Oracle JVM。

Eclipse调试筛选不需要的包

我已经使用Eclipse进行了2年的开发,但是这个filter概念我仍然在调试过程中难以理解。 我通常在远程端口模式下调试。 大多数时候,My Eclipse在不需要的软件包中捕获了断点/exception[软件包通常来自Spring,Java ThreadPool等其他来源。]并通过启动调试窗口来惹恼我。 I would like to configure Eclipse to catch breakpoints in my package only. Just ignore any where else, don’t halt them or notify me.

Java / NetBeans – 如何进入jar文件?

我在Netbeans中有一个Java项目,其属性的库部分列出了几个jar文件。 我在其中一个jar文件中发现了一个错误,我想在调试时插入它。 这是我到目前为止所做的: 我找到了jar文件的源代码。 我在NetBeans中将该源作为项目打开(它作为NetBeans项目出现) 我从项目的编译时库部分删除了该jar文件。 我使用“添加项目”在项目的编译时库部分添加了新项目。 干净并建立在新项目和我的项目上。 它构建和运行与以前相同,但我仍然无法进入新项目的代码。 但是当我尝试在新项目中使用某个方法时,Netbeans说“无法打开(缺少来源?)”。 我还尝试在新项目的方法中设置一个断点,但Netbeans说“无法提交断点LineBreakpoint ObjectMakerFactory.java:203,原因:类中没有可执行位置在第203行….”

在调试测试时,使用DatabaseManager连接到内存Hsql(高超音速)数据库

我想在我的IDE(Intellij IDEA 11.1.2)中调试测试时,使用hsql DatabaseManager(或swing版本,无关紧要)连接到内存中的HSQL数据库实例。 我按照这个答案的建议尝试了,但每次我这样做时,DatabaseManager进程/线程(我不知道哪个)启动并冻结。 如果kill / force退出它,调试会话也会死掉。 如果没有DatabaseManager冻结,我怎么能这样做呢?

Java访问本地变量名称

我正在编写一个程序,我想在程序执行期间访问局部变量的变量名,并在外部传递它们。 我知道Java会在编译期间转储本地变量名,除非在调试模式下编译。 看了一下之后,似乎JDI / JPDA就是这种工作的方式。 假设ref引用了ThreadReference ,以下是我到目前为止的内容: ref.suspend(); StackFrame currentFrame = ref.frame(0); List vars = currentFrame.visibleVariables(); ref.resume(); 两个问题: 我是在正确的轨道上,还是有更好的方法来做到这一点? 如何获取ThreadReference以设置为ref ? LocatableEvent似乎是我需要的,但任何人都可以提供一个如何使用它的例子吗? 提前谢谢了!

Eclipse在调试时跳过行

我是java和eclipse的新手,我一直在尝试在设备上调试Android应用程序。 这是一个带有jar文件引用的小项目。 我读过类似的问题,但他们没有帮助。 我需要的是能够调试jar文件的源代码,所以我附上了源代码(我使用反编译器获得),我能够进入库的源代码,所以我认为我做得正确。 但我无法成功调试这些源代码; 在调试模式下,它会跳过断点(只有源文件中附加到jar文件中的断点),当我尝试“进入代码”时,它会转到随机行,在调试时跳过行。 我正在使用最新版本的eclipse,android sdk和jdk。 我不知道是什么导致了这个问题,我想知道。 在此先感谢,我希望我能充分解释。

在运行时远程探测Scala / Java应用程序

最近,我觉得需要在我的应用程序中打开一个可以远程登录的端口,并探测一些东西,比如特定结构的内存消耗,打印List的内容等等……这极大地方便了部署的探测运行时解决方案。 但突然之间,我有这种奇怪的感觉,这种远程探测的通用框架应该已经存在。 所以,这里有一个问题:是否有任何库已经为Scala / Java提供了这些function? 我不是在寻找“完全远程调试”解决方案,而是一种简约的方法,可以轻松扩展和探测。

在Eclipse Junit测试运行器中暂停未捕获的运行时exception

在调试Junit测试期间,Eclipse不会挂起未捕获的运行时exception。 我试过了: JRE 1.6更新15和16 Eclipse 3.5.0和Eclipse 3.4.2 检查exception和所有运行时exception的“挂起未捕获的exception” 检查“调试时测试运行后保持JUnit运行” 仅运行测试方法和整个测试类时进行调试 建议在这里和这里 一切都无济于事。 没有testrunner的调试(即:通过具有自己的main方法的类)工作,即:eclipse挂起发生exception的行。

JPA:如何在设置参数后获取/打印(类型)查询后面的JPQL查询字符串?

如何获取/打印(类型化)查询后面的JPQL查询字符串,即参数设置后? (例如用于调试目的) 一个简单的toString()似乎没有做到这一点…… 谢谢

玩! Framework 2.2.0:无法在Eclipse中进行调试

我正在尝试使用Eclipse(Kepler)在Play中调试我的unit testing! 项目。 我启动了play debug 。 在Eclipse中,我使用命令行输出提供的端口在Debug Configurations中创建了一个远程Java应用程序。 单击Apply,然后单击Debug,添加断点。 在我的Play项目的命令提示符中,我启动了测试 。 Eclipse永远不会在断点处停止。 这很烦人。 我使用的是Windows 7 Pro 64位。 谢谢你的帮助