Tech Tip NV - Using Java.exe mode for troubleshooting.

Document created by DavidM Employee on Jun 16, 2015
Version 1Show Document
  • View in full screen mode

There is an option to configure NV to keep a command window open showing all the Java commands taking place in the Console background. It can be very helpful for troubleshooting but otherwise it is better to not use it due to the overhead.

 

Some reasons to use this are the Console:

crashes after opening

it hangs

it becomes unresponsive

it is responding in an unexpected way

you are just curious

 

To enable:

Right click on the NV Console shortcut and select Properties.

Scroll all the way over to the left at the beginning and change

\NetVoyant\jre\bin\javaw.exe

to

\NetVoyant\jre\bin\java.exe

 

Debug logging is available via editing D:\NetVoyant\classes\properties\user.properties

add

logLevel=10

to the end

 

To make viewing easier change the properties for the Command Window.

Click the shortcut and then click the top left corner and select Properties.

Go to the Layout tab and increase both the Buffer and Window size.

For the Buffer size setting Width of 500 and Height 1000 should be good.

For the Window size setting use whatever fits the screen.

Save, close the window and reopen.

 

To save information in the Window go to the top left corner and then Edit and Mark or Select All.

Then once selected just hit Enter to copy it.

 

Hit Ctrl + Pause Break to dump the Java processes into the window.

Sample:

Full thread dump Java HotSpot(TM) Client VM (17.0-b16 mixed mode):

 

"p: default-threadpool; w: Idle" daemon prio=6 tid=0x471a1800 nid=0x2034 in Object.wait() [0x48fdf000]

   java.lang.Thread.State: TIMED_WAITING (on object monitor)

        at java.lang.Object.wait(Native Method)

        - waiting on <0x18fc6a98> (a com.sun.corba.se.impl.orbutil.threadpool.WorkQueueImpl)

        at com.sun.corba.se.impl.orbutil.threadpool.WorkQueueImpl.requestWork(WorkQueueImpl.java:121)

        - locked <0x18fc6a98> (a com.sun.corba.se.impl.orbutil.threadpool.WorkQueueImpl)

        at com.sun.corba.se.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:484)

 

Now for every click in the Console the background Java commands will be written into the window.

For example clicking on the System Group 'All Switches' results in:

[Debug] treeModel.nodeStructureChanged: System Groups

[Verbose] All Switches DynamicTreeNode.isLoaded=false

[Verbose] All Switches DynamicTreeNode.isLoaded=false

[Verbose] DynamicNode.isLoaded=false, name=All Switches, class="redpoint".console.GroupNode

[Verbose] loading children groups ...

[Verbose] loading children devices ...

[Verbose] DynamicTreeNode.childrenLoaded for All Switches

[Debug] treeModel.nodeStructureChanged: All Switches

Attachments

    Outcomes