jetbrains / attachme Goto Github PK
View Code? Open in Web Editor NEWIntelliJ plugin for auto-attaching the debugger to JVM applications
License: Apache License 2.0
IntelliJ plugin for auto-attaching the debugger to JVM applications
License: Apache License 2.0
Is there any plan to publish a build compatible with the latest IntelliJ Ultimate version?
I'm debugging JVM processes that get called by other programs and whose stdout/stderr get examined. AttachMe messages to stdout/stderr break the calling process by introducing unexpected output.
It would be nice to add an additional agent option (maybe quiet=[y/n]
) to avoid printing anything, at least for anything that is not a fatal error. That would make it possible to debug JVM cli apps that get called from scripts, etc.
Hi, the plugin isn't supported on Intellij 2023.*, any chance on publishing a supported version? Thanks
Attachme server ignores client address and tries to connect to "localhost" regardless.
I'd love to be able to use this plugin to debug Gradle plugins and processes spawned by Gradle.
Unfortunately, after running source ~/.attachme/conf.sh
all Gradle tasks fail with the output:
* What went wrong:
Unable to determine version for JDK located at /Library/Java/JavaVirtualMachines/adoptopenjdk-15.jdk/Contents/Home. Reason: Unexpected command output:
Listening for transport dt_socket at address: 53880
/Library/Java/JavaVirtualMachines/adoptopenjdk-15.jdk/Contents/Home
15.0.2
AdoptOpenJDK
x86_64
OpenJDK 64-Bit Server VM
15.0.2+7
OpenJDK Runtime Environment
15.0.2+7
The issue is that Gradle is probing the JVM to determine its version and isn't expecting the "Listening for transport dt_socket at address: 53880" line in the output.
The workaround is to edit ~/.attachme/conf.sh
to switch jdwp to 'quiet' mode:
JDWP_ARGS="${JDWP_ARGS:=transport=dt_socket,server=y,suspend=y,quiet=y,address=${JDWP_ADDR}:${JDWP_PORT}}"
Would be nice if the workaround was not needed.
An integration test is needed to quickly verify the plugin for new platforms
The build has to include generation of agent jar and including that in plugin resources.
Update? Thank you!
I followed the instructions to setup the AttachMe using port address 127.0.0.1, because of the a problem with the bind address. Then I ran the Play application using sbt start
. The AttachMe throws an exception:
AttachMe listening for debuggee processes on port 7857
java.lang.ClassCastException: class com.intellij.debugger.impl.attach.JavaAttachDebuggerProvider$ProcessAttachRunConfiguration cannot be cast to class com.attachme.plugin.AttachmeDebugger$ProcessAttachRunConfiguration (com.intellij.debugger.impl.attach.JavaAttachDebuggerProvider$ProcessAttachRunConfiguration is in unnamed module of loader com.intellij.ide.plugins.cl.PluginClassLoader @44774fa2; com.attachme.plugin.AttachmeDebugger$ProcessAttachRunConfiguration is in unnamed module of loader com.intellij.ide.plugins.cl.PluginClassLoader @1412d19c)
at com.attachme.plugin.AttachmeDebugger.attach(AttachmeDebugger.java:27)
at com.attachme.plugin.AttachmeRunner.onDebuggeeProcess(AttachmeRunner.java:59)
at com.attachme.plugin.AttachmeRunTask.runServer(AttachmeRunTask.java:67)
at com.attachme.plugin.AttachmeRunTask.run(AttachmeRunTask.java:39)
at java.base/java.lang.Thread.run(Thread.java:834)
What does cause to the exception? How to fix it?
Thank you!
Implement a docker support for automatically attaching to JVMs inside docker containers.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.