kjdb (Debugger) Wiki
A cross-platform core file debugger
..to open Solaris, Linux and MacOS cores and Windows MiniDumps... on any platform (where you have Java).
A .pdf manual-in-progress is available in the Downloads section: https://java.net/projects/kjdb/downloads/download/kjdb_open.pdf
What is this? What does it do?
- A core file debugger in pure Java that lets us open a core file from any platform, on any platform ('from' means cores may be from Solaris, Linux, MacOS or be a Windows MiniDump. 'on' means you can run the debugger on any platform where you have a JRE).
- Hooks into the HotSpot Serviceability Agent bypassing the need to match the JVM, so you can get Java information (stacktraces) from a HotSpot JVM core file.
- Quickly verify if a core is good, and start investigating, without moving it to a machine of matching architecture.
- Get native stacktraces, examine threads, registers, inspect addresses, search for data, ...
- Load your copy of the app's libraries (libjvm, etc..), to get symbolic stacktraces, and lookup symbols in the core.
- Windows MiniDump support, and symbols on Windows with a .MAP file. So you can do: "kjdb dump.mdmp jvm.dll jvm.map" and then "forall threads bt" to get native stacktraces.
- DWARF and STABS: somewhat partial implementations but get stacktraces with filenames and line numbers. Now reading DWARF types.