相关疑难解决方法(0)

如何确定是否启用了"调试模式"

Java程序如何确定它是否在调试模式下运行?

应用程序在常规"全速"模式下的行为应与"调试模式"(在附加调试器时,在调试模式下运行时)略有不同.应用程序通过TCP与另一台计算机,另一个进程或其自身进行通信.我的同事希望我们Socket.setSoTimeout(1000)默认使用,以便从套接字读取最多可以阻止1秒钟.调试时,这当然是不够的,应用程序停止工作.所以解决方案是设置SO_TIMEOUT更高,但只是在调试模式(例如:无限制).现在,我并不总是设置断点或者不想使用调试构建,我可以自己设置"debug"属性.有时我会附加调试器(远程调试).我主要使用Eclipse,所以在那里工作的解决方案是可以的.

可能的答案包括:

  1. 要确定是否在调试模式下运行,请使用以下方法java.lang.management.*javax.management.*...

  2. 您的同事因X原因错误SO_TIMEOUT,默认情况下您不应设置为1秒.

更新

我知道系统属性方法,但我将问题留待解决我原来的问题.

java eclipse debugging

39
推荐指数
3
解决办法
2万
查看次数

Java应用程序是否可以检测到附加了调试器?

我知道(jvm)启动选项让jvm等到调试器连接 - 这不是我的意思.

是否有可能从Java代码中检测调试器的附件,以便我可以编写一个"脚本"来做一些事情,然后在某一点使我的应用程序等待调试器?

java debugging

12
推荐指数
2
解决办法
4673
查看次数

如何知道我的代码在IDE中以"调试"模式运行?

如何在"运行"模式下编写在"调试"模式下运行时不同的代码(例如在eclipse中调用为"Debug As Java Application")(例如在eclipse中调用为"Run as Java Application") )?例如,代码可以在"Debug As Java Application"时打印"Haha,您正在调试",但在"Run As Java Application"时不打印任何内容(我不想在调用main时附加任何args)有没有任何通用的方法可以在任何IDE下工作,比如eclipse,IntelliJ等?

java

5
推荐指数
1
解决办法
2121
查看次数

如何检测我的应用程序是否从IntelliJ启动?

我可以将我的应用程序作为独立应用程序(例如从命令行)或一种特定方式启动 - 它直接来自"源代码",即使用IntelliJ.

有没有办法检测应用程序是否从IntelliJ启动?只有这个,二元决定.

解决方法很多,在启动时添加了额外的选项,但是我正在寻找直接解决方案,对于C#这样 如何知道应用程序是由调试器启动的(VisualStudio)C#

该解决方案可以对任何IDE有效,但必须至少对IntelliJ有效.

小更新

对于那些(包括我)寻求准备使用代码(Scala代码):

object ProgramInfo
{
  val isStandaloneApp = sun.management.ManagementFactory.getRuntimeMXBean().getInputArguments.isEmpty
  val isDebugMode = scala.collection.JavaConversions.iterableAsScalaIterable(sun.management.ManagementFactory.getRuntimeMXBean().getInputArguments).exists(it => it.startsWith("-agentlib"))
}
Run Code Online (Sandbox Code Playgroud)

它不适用于复杂的情况,但是如果你没有将大量参数传递给JVM,那就没关系了.

java debugging scala intellij-idea

5
推荐指数
1
解决办法
1558
查看次数

如何在 Gradle-Script 中的 Intellij 中检查测试是否以调试模式启动

在我的 Gradle 脚本中,我想检查测试是否由 Intellij Idea 在调试模式下启动。

我已经尝试过以下方法:

如何确定 Intellij 是否在调试模式下启动测试?

这可能类似于检测是否--debug-jvmisset,但截至目前,我找不到启动任务的进程。(我试过类似的东西ps aux | grep test,但没有结果)

java debugging intellij-idea gradle

5
推荐指数
0
解决办法
286
查看次数

如何判断我的Spring启动应用程序是否处于调试模式?

我想根据--debug交换机是否存在来修改我的应用程序的工作方式.我在我的@Configuration文件中试过这个:

@Value("\${debug}")
lateinit var debug: String
Run Code Online (Sandbox Code Playgroud)

但是春天说

无法在值"$ {debug}"中解析占位符'debug'

如何查询--debug选项的状态?

java spring kotlin spring-boot

2
推荐指数
1
解决办法
2388
查看次数

检查我们是否在Intellij IDEA Debugger中

有没有办法从运行/调试的 Java 代码中检查我们是否正在 Intellij IDEA 调试器中运行?

debugging intellij-idea

1
推荐指数
1
解决办法
1929
查看次数

标签 统计

java ×6

debugging ×5

intellij-idea ×3

eclipse ×1

gradle ×1

kotlin ×1

scala ×1

spring ×1

spring-boot ×1