草庐IT

Debugging

全部标签

java - 为 Eclipse Java 调试器禁用热代码替换

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:HowdoIdisableHotCodeReplaceinEclipse当您在调试session中更改Java代码时,Eclipse会将更新后的类文件上传到正在运行的JVM(热代码替换)。这甚至适用于远程应用程序。有没有办法关闭热代码替换(在Eclipse中,而不是在远程JVM中)?我们希望能够远程调试我们的测试和暂存服务器,但要防止对它们正在运行的构建进行无意更新。

java - 检查jdb中某个方法的返回值

假设在jdb中我在代码中的以下位置:return22;-->}如何转储将要返回的对象(或原语)的值?在返回之前必须将返回值存储在局部变量中似乎很痛苦,这样我就可以看到将要返回的内容。实际上,我想在jdb中执行gdb链接中描述的操作:HowtoinspectthereturnvalueofafunctioninGDB? 最佳答案 嗯,VM是面向堆栈的,因此没有什么比那些寄存器更值得读取的了。在方法中,您可以执行tracemethodexit并在方法退出时显示返回值。这不完全是您所要求的,因为您只能在方法退出后看到该值。您的另一个选择是

java - 如何解决 Intellij 调试问题?

我正在尝试切换到Intellij,但是当我加载我的项目时,调试器似乎在跳过行,并且在我尝试单步执行时没有跟踪实际源代码。我知道这是一个模糊的问题,但有没有人知道导致Intellij在调试时错误地链接到源代码的问题? 最佳答案 我唯一能想到的是当前编译的类与您用来调试的源代码不匹配。在这种情况下发生的事情是IntelliJ(或任何其他IDE)从类中获取调试信息,例如行号,然后将其映射到您正在查看的当前源代码,以向您显示正在执行的代码.如果代码已过时,或者版本(源代码和编译后的类)在任何方面都不匹配,可能会发生被调试者正在给IDE信息以

java - 是否可以将自定义元数据添加到 .class 文件?

我们公司已经使用liquibase一段时间了,我们已经为数据库迁移设置了一个持续集成环境,当补丁出现错误时会中断工作。该CI环境的一个有趣的“特征”是破坏有一个“可能的罪魁祸首”,因为所有补丁都需要有一个“作者”,并且错误消息显示作者姓名。如果您不知道liquibase是什么,没关系,这不是重点。重点是:为错误附加一个人的名字对软件开发过程非常有好处:问题得到解决的速度更快。所以我在想:Java堆栈跟踪是否可能?我们能不能有一个堆栈跟踪,其中包含人名和行号,如下所示?java.lang.NullPointerExceptionatorg.hibernate.tuple.Abstract

java - IntelliJ "Debug info unavailable"- 如何修复?

我有一个在IntelliJ中构建的JavaTomcatWeb应用程序,它调用另一个名为“Stuff”的模块中的代码。我已将相关代码的源代码附加到“Stuff”,这样我就可以进入它并设置断点,但我看不到变量或它们的值。watch也不行。我得到的只是“调试信息不​​可用”。如何查看调试信息? 最佳答案 请使用以下选项编译:javac-g:source,lines,vars 关于java-IntelliJ"Debuginfounavailable"-如何修复?,我们在StackOverflow

java - 使用 >>、>、>|、||、|<、<、<< 进行可视化调试

使用标准调试器调试性能问题几乎没有希望,因为细节级别太高。其他方法是使用分析器,但它们很少给我有用的信息,尤其是当涉及到GUI和后台线程时,因为我永远不知道用户是否真的在等待计算机。另一种方法是简单地使用Control+C并查看它在代码中的何处停止。我真正想要的是将快进、播放、暂停和倒带功能与代码的一些视觉表现相结合。这意味着我可以将代码设置为快进运行,直到我将GUI导航到关键点。然后我将代码设置为在慢速模式下运行,同时我得到一些视觉表现,哪些行正在执行(可能是代码的某种缩小View)。例如,我可以将执行速度设置为0.0001x。我相信我会通过这种方式非常清楚地了解问题是出在特定模块内

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

如何获取/打印(键入的)查询后面的JPQL查询字符串,即设置之后参数?(例如,用于调试目的)一个简单的toString()似乎并不能解决问题...谢谢 最佳答案 没有“最终被翻译成最终SQL的最终JPQL”这样的东西。JPA实现如何生成SQL取决于它,并且参数通常永远不会被替换为任何字符串。SQL是从表达式树等而不是字符串生成的。如果你想插入参数值然后自己做,因为它只对你有意义 关于java-JPA:如何在设置参数后获取/打印(类型化)查询后面的JPQL查询字符串?,我们在StackOv

java - 如何调试 Google App Engine servlet?

我是AppEngine的新手,正在尝试使用Java编写的一些示例Web应用程序。我一直无法弄清楚如何在eclipse中调试javaweb应用程序项目。当我启动调试配置时,作为SDK一部分的jetty服务器启动,我可以从浏览器访问我的页面。但是我在servlet中的断点都没有被击中。我是否缺少一些调试配置? 最佳答案 假设您已经安装了GooglePluginforEclipse,这应该是一个简单的问题:Runmenu->DebugAs->WebApplication这当然会在Eclipse调试器内的Web服务器中运行您的应用程序。参见

java - Eclipse SWING 应用程序 : breakpoint hit only after an uncaught exception is thrown

我有一个非常奇怪的问题。我正在Eclipse中开发JavaSWING应用程序。我在我的代码中的某处设置了一个断点,然后运行调试。我执行了一段包含断点的代码,但它总是被跳过。一旦我运行了一些抛出未捕获异常的代码,断点就开始再次命中,而没有改变任何其他东西。抛出异常的代码和包含断点的代码没有关系。我尝试在几个地方设置断点,但在抛出异常之前它们永远不会被击中。我只对这个特定的应用程序有这个问题。我的调试器适用于其他SWING应用程序。你能想到造成这种情况的任何原因吗? 最佳答案 您运行的是什么版本的Eclipse和Java?你知道this

java - 如何在 Java 中将堆栈跟踪打印到标准输出以进行调试?

我是java新手。我想要java中的debug_print_backtrace之类的东西。我想将当前堆栈跟踪打印到标准输出或intellijidea日志窗口以进行调试。我曾经在php中使用debug_print_backtrace在运行时查找一些堆栈信息以进行调试。 最佳答案 你只需要一行。newException().printStackTrace(System.out);感谢GetcurrentstacktraceinJava将堆栈跟踪打印到stderr:newException().printStackTrace();