You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@netbeans.apache.org by "pat (Jira)" <ji...@apache.org> on 2021/08/26 22:12:00 UTC
[jira] [Commented] (NETBEANS-5949) remote debugger does not work
[ https://issues.apache.org/jira/browse/NETBEANS-5949?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17405493#comment-17405493 ]
pat commented on NETBEANS-5949:
-------------------------------
I went down the path to figure out what all was necessary to make remote debugging work.
The scriptdef target in remote-platform-impl.xml needs to look something like below. Of course the paths to the jar files need to match where they are installed.
<scriptdef name="addressport" language="javascript">
<attribute name="address" />
<attribute name="property" />
<classpath path="${user.home}\Downloads\bsf-bin-2.4.0\bsf-2.4.0\lib\bsf.jar"/>
<classpath path="${user.home}\Downloads\commons-logging-1.2-bin\commons-logging-1.2\commons-logging-1.2.jar"/>
<classpath path="${user.home}\Downloads\org.mozilla.javascript-1.7.2.jar\org.mozilla.javascript-1.7.2.jar"/>
<![CDATA[
var address = attributes.get("address");
project.setProperty(attributes.get("property"), address.split(":")[1]);
]]>
</scriptdef>
And HelloWorld.properties needs to have the following line added. The debug-args-line needs to be defined but can be empty.
debug-args-line=
An then the debugger can launch and debug the application on the remote host.
> remote debugger does not work
> ------------------------------
>
> Key: NETBEANS-5949
> URL: https://issues.apache.org/jira/browse/NETBEANS-5949
> Project: NetBeans
> Issue Type: Bug
> Components: debugger - Java, projects - Ant
> Affects Versions: 12.4
> Environment: Host is Windows 10, Netbeans 12.4
> Remote Host is raspberry pi with java 11.0.12.
> Reporter: pat
> Priority: Major
>
> Create a java application project.
> Add this code to main and fix the imports
> public static void main(String[] args) {
> try {
> InetAddress id = InetAddress.getLocalHost();
> System.out.println(id.getHostName());
> System.out.println("java version is " + System.getProperty("java.version"));
> System.out.println("VM is " +
> ManagementFactory.getRuntimeMXBean().getVmVersion());
> } catch (UnknownHostException ex) {
> Logger.getLogger(HelloWorld.class.getName()).log(Level.SEVERE, null, ex);
> }
> }
> Run natively to verify you got it right.
> Follow the instructions here to create a remote java standard edition platform targeting a different Linux computer. My computer is a raspberry pi with java 11 installed, Oracle Java SE 8 Embedded is no longer available for most people but java 11 works fine. (The bug is independent of java version on the target).
> https://netbeans.apache.org/kb/docs/java/javase-embedded.html?print=yes
> Select the remote platform you created and run the program. The output should show that it ran on the remote host.
> Now debug the program. I get the following error.
> ant -f C:\\Users\\PATGI\\OneDrive\\Documents\\NetBeansProjects\\HelloWorld -Dnb.internal.action.name=debug -Dremote.platform.passphrase=***** -Dremote.platform.rp.target=linuxarm-15 -Dremote.platform.rp.filename=linuxarm -Ddebug.class=helloworld.HelloWorld -Dremote.platform.java.spec.ver=11 debug-remote
> init:
> deps-jar:
> Updating property file: C:\Users\PATGI\OneDrive\Documents\NetBeansProjects\HelloWorld\build\built-jar.properties
> compile:
> Copying 1 file to C:\Users\PATGI\OneDrive\Documents\NetBeansProjects\HelloWorld\build
> Nothing to copy.
> To run this application from the command line without Ant, try:
> java -jar "C:\Users\PATGI\OneDrive\Documents\NetBeansProjects\HelloWorld\dist\HelloWorld.jar"
> deploy:
> jar:
> C:\Users\PATGI\OneDrive\Documents\NetBeansProjects\HelloWorld\nbproject\remote-platform-impl.xml:143: Unable to create javax script engine for javascript
> BUILD FAILED (total time: 0 seconds)
> I was able to for the debugger to work by manually starting the debugger on the remote host with something like
> /usr/bin/java -agentlib:jdwp=transport=dt_socket,address=*:8000,suspend=y,server=y -Dfile.encoding=UTF-8 -jar /home/pi/NetBeansProjects/HelloWorld/dist/HelloWorld.jar
> And then connect the debugger to a process already running on the remote host at port 8000.
> I traced this back to javascript not being supported in this installation of Ant. I also think several of the configuration variables for remote debugging are not setup. e.g. jdpa.address and jdpa.port but I could easily be wrong about this.
> The good news is it can be made to work and it is very nice when it is working.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@netbeans.apache.org
For additional commands, e-mail: commits-help@netbeans.apache.org
For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists