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