Express (Distributed operating systems), v8.0 > Troubleshoot and support > Analyzing application server Java system dumps with the IBM Monitoring and Diagnostic Tools for Java - Dump Analyzer


Use the interactive mode to diagnose problems

the interactive mode is available only when the WAS extensions are installed.

Sometimes, the information provided by one of the pre-defined analysis modules is not sufficient to fully diagnose a problem, or there may not (yet) exist an analysis module suitable for a given probem. In this case, the Jyhon-based interactive shell may be used to manually explore data structures and information in the dump.

To invoke the Jython-based ineractive shell:

  1. Go to the Analyzer Launch screen

  2. Select and launch the JythonAnalyzer from the menu of available analyzers
  3. A new screen will open, but unlike the static result screens produced by most other analyzers, this screen is actually a command window, in which you can type commands to interact with the tool and explore the dump.

The syntax for commands in this interactive mode uses the Jython language. We can type individual commands directly at the prompt and see the results immediately. Or you can write complex scripts in Jython and execute them multiple times if desired, and even turn them into new analyzers that appear in the list of available analyzers on the Analyzer Launch screen.

Here are a few examples of command usage:

To list all instances of class com/ibm/ws/util/ThreadPool:
DumpAnalyzer.listObjectInstances(com/ibm/ws/util/ThreadPool)
To view the contents of an object instance at address 0x3fa561b0:
DumpAnalyzer.examine(0x3fa561b0)
To view the contents of an object instance at address 0x3fa561b0, when we know that this object happens to be an instance of java/util/Hashtable, and we wish to see the entries in the Hashtable, rather than the internal fields that constitute the implementation of the Hashtable class:
DumpAnalyzer.examine(0x3fa561b0, 'HashtableWrapper')
To execute the pre-defined analyzer WASBasicInfo and see its output directly in the command window:
DumpAnalyzer.runAnalyzer('WASBasicInfo')
To obtain a Jython object reference to the analyzer WASVersion, against which you can subsequently invoke operations using normal Jython method invocation syntax (for example invoking WASVersion.getWASVersionString()):
fullName = DumpAnalyzer.expandAnalyzerName('WASVersion')
context = DumpAnalyzer.getContext()
analyzer = context.loadAnalyzer(fullName)

print analyzer.getWASVersionString()

Hints:

For more information about the available commands on the DumpAnalyzer object, see the reference information for the interactive mode Jython shell.

For more information about wrapper analyzers such as HashtableWrapper and the Java methods that can be invoked on various analyzers, see the API documentation for the core analyzer interfaces in the API reference section.

See also:

+

Search Tips   |   Advanced Search