Example session

This example session illustrates a selection of the commands available and their use.

In the example session, which is generated on a Linux system, some lines have been removed for clarity (and terseness).

User input is prefaced by a greater than symbol (>).

test@madras:~/test> sdk/bin/jdmpview -core core.20121116.154147.16838.0001.dmp
DTFJView version 4.27.57, using DTFJ version 1.10.27022
Loading image from DTFJ...

For a list of commands, type "help"; for how to use "help", type "help help"
Available contexts (* = currently selected context) :

Source : file:///home/test/core.20121116.154147.16838.0001.dmp
        *0 : PID: 16867 : JRE 1.8.0 Linux ppc64-64 build 20121115_128521 (pxp6480-20121116_01 )

> help
+                                              displays the next section of memory in hexdump-like format
-                                              displays the previous section of memory in hexdump-like format
cd                                             changes the current working directory, used for log files
close                     [context id]         closes the connection to a core file
context                   [ID|asid ID]         switch to the selected context
deadlock                                       displays information about deadlocks if there are any
exit                                           Exit the application
find                                           searches memory for a given string
findnext                                       finds the next instance of the last string passed to "find"
findptr                                        searches memory for the given pointer
heapdump                                       generates a PHD or classic format heapdump
help                      [command name]       displays list of commands or help for a specific command
hexdump                                        outputs a section of memory in a hexdump-like format
info                      <component>          Information about the specified component
info class                <Java class name>    Provides information about the specified Java class
info heap                 [*|heap name]        Displays information about Java heaps
info jitm                                      Displays JIT'ed methods and their addresses
info lock                                      outputs a list of system monitors and locked objects
info mmap                                      Outputs a list of all memory segments in the address space
info mod                                       outputs module information
info proc                                      shortened form of info process
info process                                   displays threads, command line arguments, environment
info sym                                       an alias for 'mod'
info sys                                       shortened form of info system
info system                                    displays information about the system the core dump is from
info thread                                    displays information about Java and native threads
log                       [name level]         display and control instances of java.util.logging.Logger
open                      [path to core or zip] opens the specified core or zip file
plugins                                        Plugin management commands
                     list                      Show the list of loaded plugins for the current context
                   reload                      Reload plugins for the current context
                 showpath                      Show the DTFJ View plugin search path for the current context
                  setpath                      Set the DTFJ View plugin search path for the current context
pwd                                            displays the current working directory
quit                                           Exit the application
set                       [logging|heapdump]   Sets options for the specified command
set heapdump                                   configures heapdump format, filename and multiple heap support
set logging                                    configures several logging-related parameters, starts/stops logging
                       on                      turn on logging
                      off                      turn off logging
                     file                      turn on logging
                overwrite                      controls the overwriting of log files
show                      [logging|heapdump]   Displays the current set options for a command
show heapdump                                  displays heapdump settings
show logging                                   shows the current logging options
whatis                    [hex address]        gives information about what is stored at the given memory address
x/d                       <hex address>        displays the integer at the specified address
x/j                       <object address> [class name] displays information about a particular object or all objects of a class
x/k                       <hex address>        displays the specified memory section as if it were a stack frame parameters
x/x                       <hex address>        displays the hex value of the bytes at the specified address

> set logging file log.txt
logging turned on; outputting to "/home/test/log.txt"

> info system
Machine OS:     Linux
Hypervisor:     PowerVM
Machine name:   madras
Machine IP address(es):
                9.20.88.155
System memory:  8269201408

Dump creation time: 2015/08/10 14:44:36:019
Dump creation time (nanoseconds): 21314421467539

Java version:
JRE 1.8.0 Linux ppc64-64 build 20121115_128521 (pxp6490-20121116_01)

JVM start time: 2015/08/10 14:44:05:690
JVM start time (nanoseconds): 21284086192267 

> info thread *
native threads for address space
 process id: 16838

  thread id: 16839
   registers:

   native stack sections:
   native stack frames:
   properties:
   associated Java thread:
    name:          main
    Thread object: java/lang/Thread @ 0x2ffd1e08
    Priority:      5
    Thread.State:  RUNNABLE
    JVMTI state:   ALIVE RUNNABLE
    Java stack frames:
     bp: 0x0000000000085b28  method: void com/ibm/jvm/Dump.SystemDumpImpl()  (Native Method)
      objects: <no objects in this frame>
     bp: 0x0000000000085b40  method: void com/ibm/jvm/Dump.SystemDump()  source: Dump.java:41
      objects: <no objects in this frame>
     bp: 0x0000000000085b68  method: void mySystemDump.main(String[])  source: mySystemDump.java:29
      objects: <no objects in this frame>
===Lines Removed===

    name:          GC Worker
    id:            16860
    Thread object: java/lang/Thread @ 0x3001b980
    Priority:      5
    Thread.State:  WAITING
    JVMTI state:   ALIVE WAITING WAITING_INDEFINITELY IN_OBJECT_WAIT
      waiting to be notified on: "MM_ParallelDispatcher::workerThread" with ID 0x1004cbc8 owner name: <unowned>
    Java stack frames: <no frames to print> 
 
    name:          GC Worker
    id:            16861
    Thread object: java/lang/Thread @ 0x3001c180
    Priority:      5
    Thread.State:  WAITING
    JVMTI state:   ALIVE WAITING WAITING_INDEFINITELY IN_OBJECT_WAIT
      waiting to be notified on: "MM_ParallelDispatcher::workerThread" with ID 0x1004cbc8 owner name: <unowned>
    Java stack frames: <no frames to print>

    name:          Signal Dispatcher
    id:            16847
    Thread object: com/ibm/misc/SignalDispatcher @ 0x3000f268
    Priority:      5
    Thread.State:  RUNNABLE
    JVMTI state:   ALIVE RUNNABLE
    Java stack frames:
     bp: 0x00000000000df748  method: int com/ibm/misc/SignalDispatcher.waitForSignal()  (Native Method)
      objects: <no objects in this frame>
     bp: 0x00000000000df788  method: void com/ibm/misc/SignalDispatcher.run()  source: SignalDispatcher.java:54
      objects: 0x30015828 0x30015828
===Lines Removed===

> info heap *

         Heap #1:  Generational@fff78303d30
          Section #1:  Heap extent at 0x100d0000 (0x300000 bytes)
           Size:        3145728 bytes
           Shared:      false
           Executable:  false
           Read Only:   false
          Section #2:  Heap extent at 0x2ffd0000 (0x80000 bytes)
           Size:        524288 bytes
           Shared:      false
           Executable:  false
           Read Only:   false
          Section #3:  Heap extent at 0x30050000 (0x80000 bytes)
           Size:        524288 bytes
           Shared:      false
           Executable:  false
           Read Only:   false

> info class java/lang/String
name = java/lang/String

        ID = 0x37c00    superID = 0x30300
        classLoader = 0x2ffe9b58    modifiers: public final

        number of instances:     2146
        total size of instances: 51504 bytes

Inheritance chain....
        java/lang/Object
           java/lang/String

Fields......
          static fields for "java/lang/String"
            private static final long serialVersionUID = -6849794470754667710 (0xa0f0a4387a3bb342)
            public static final java.util.Comparator CASE_INSENSITIVE_ORDER = <object> @ 0x2ffd0278
            private static final char[] ascii = <object> @ 0x2ffd02c8
            private static String[] stringArray = <object> @ 0x2ffd0298
            private static final int stringArraySize = 10 (0xa)
            static boolean enableCopy = false
            private static int seed = -126504465 (0xfffffffff875b1ef)
            private static char[] startCombiningAbove = <object> @ 0x100d0c40
            private static char[] endCombiningAbove = <object> @ 0x100d0cc0
            private static final char[] upperValues = <object> @ 0x100d0d40
            private static final java.io.ObjectStreamField[] serialPersistentFields = <object> @ 0x2ffd0920

          non-static fields for "java/lang/String"
            private final char[] value
            private final int offset
            private final int count
            private int hashCode
            private int hashCode32

Methods......

Bytecode range(s): :  private static native int getSeed()
Bytecode range(s): fff76d8ce48 -- fff76d8ce5e:  public void <init>()
Bytecode range(s): fff76d8ce88 -- fff76d8cecd:  private void <init>(String, char)
Bytecode range(s): fff76d8cf10 -- fff76d8cf19:  public void <init>(byte[])
Bytecode range(s): fff76d8cf40 -- fff76d8cf4a:  public void <init>(byte[], int)
Bytecode range(s): fff76d8cf7c -- fff76d8cfb5:  public void <init>(byte[], int, int)
Bytecode range(s): fff76d8cff8 -- fff76d8d065:  public void <init>(byte[], int, int, int)
Bytecode range(s): fff76d8d0c4 -- fff76d8d10c:  public void <init>(byte[], int, int, String)
===Lines Removed===

> whatis  0x2ffd0298
        heap #1 - name: Generational@fff78303d30
                0x2ffd0298 is within heap segment: 2ffd0000 -- 30050000
                0x2ffd0298 is the start of an object of type [Ljava/lang/String;