From ccfae984f9e21815c6bef54eabe9227837f17833 Mon Sep 17 00:00:00 2001 From: "Vitaliy.Bibaev" Date: Wed, 30 Jan 2019 21:13:29 +0300 Subject: [PATCH] [memory-agent] Add ability to enable logging for memory agent --- .../intellij/debugger/memory/agent/MemoryAgentUtil.java | 8 ++++++-- .../src/com/intellij/debugger/impl/OutputChecker.java | 2 +- platform/util/resources/misc/registry.properties | 2 ++ 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/java/debugger/impl/src/com/intellij/debugger/memory/agent/MemoryAgentUtil.java b/java/debugger/impl/src/com/intellij/debugger/memory/agent/MemoryAgentUtil.java index 6c9475a00994..3188738a2d56 100644 --- a/java/debugger/impl/src/com/intellij/debugger/memory/agent/MemoryAgentUtil.java +++ b/java/debugger/impl/src/com/intellij/debugger/memory/agent/MemoryAgentUtil.java @@ -27,7 +27,6 @@ public class MemoryAgentUtil { public static void addMemoryAgent(JavaParameters parameters) { if (!Registry.is("debugger.enable.memory.agent")) { - return; } @@ -56,7 +55,12 @@ public class MemoryAgentUtil { } LOG.info("Memory agent extracting took " + (System.currentTimeMillis() - start) + " ms"); - String path = JavaExecutionUtil.handleSpacesInAgentPath(extractedAgent.getAbsolutePath(), "debugger-memory-agent", null); + String path = JavaExecutionUtil.handleSpacesInAgentPath(agentFile.getAbsolutePath(), "debugger-memory-agent", null); + String args = ""; + if (Registry.is("debugger.memory.agent.debug")) { + args = "5";// Enable debug messages + } + path += "=" + args; parametersList.add("-agentpath:" + path); } diff --git a/java/testFramework/src/com/intellij/debugger/impl/OutputChecker.java b/java/testFramework/src/com/intellij/debugger/impl/OutputChecker.java index 3969fe4b4cb2..a09ce25fabc4 100644 --- a/java/testFramework/src/com/intellij/debugger/impl/OutputChecker.java +++ b/java/testFramework/src/com/intellij/debugger/impl/OutputChecker.java @@ -207,7 +207,7 @@ public class OutputChecker { result = StringUtil.replace(result, "Process finished with exit code 255", "Process finished with exit code -1"); result = result.replaceAll(" -javaagent:.*debugger-agent\\.jar", ""); - result = result.replaceAll(" -agentpath:.*memory_agent\\.\\w*", ""); + result = result.replaceAll(" -agentpath:.*memory_agent\\.\\w*=", ""); result = result.replaceAll("!HOST_NAME!:\\d*", "!HOST_NAME!:!HOST_PORT!"); result = result.replaceAll("at '.*?'", "at '!HOST_NAME!:PORT_NAME!'"); result = result.replaceAll("address: '.*?'", "address: '!HOST_NAME!:PORT_NAME!'"); diff --git a/platform/util/resources/misc/registry.properties b/platform/util/resources/misc/registry.properties index 41126b6a13c5..4aa303e2900d 100644 --- a/platform/util/resources/misc/registry.properties +++ b/platform/util/resources/misc/registry.properties @@ -354,6 +354,8 @@ debugger.enable.memory.view=true debugger.enable.overhead.monitor=true debugger.enable.memory.agent=false debugger.enable.memory.agent.description=Allow to start java debug sessions with attached debugger memory agent +debugger.memory.agent.debug=false +debugger.memory.agent.debug.description=Enable debug logging to stdout from memory agent debugger.tree.states.depth=100 debugger.new.threads.view=false debugger.breakpoints.caller.filter=true