Listing Debugging Commands with 'help' Command

This section lists some commonly used 'jdb' commands by running the 'help' command.

Ok, I think we did enough excises about launching the debugger and connecting to the target application. Let's now move on to look at some debugging commands.

Here is list of commonly used debugging commands. I got this list by using "help" at debugging prompt.

C:\herong>jdb
> help

connectors             -- list available connectors and transports in
                          this VM

run [class [args]]     -- start execution of application's main class

threads [threadgroup]  -- list threads
thread <thread id>     -- set default thread
suspend [thread id(s)] -- suspend threads (default: all)
resume [thread id(s)]  -- resume threads (default: all)
where [<thread id> | all] -- dump a thread's stack
wherei [<thread id> | all]-- dump a thread's stack, with pc info
up [n frames]          -- move up a thread's stack
down [n frames]        -- move down a thread's stack
kill <thread id> <expr>
                       -- kill a thread with the given exception object
interrupt <thread id>  -- interrupt a thread

print <expr>           -- print value of expression
dump <expr>            -- print all object information
eval <expr>            -- evaluate expression (same as print)
set <lvalue> = <expr>  -- assign new value to field/variable/array 
                          element
locals                 -- print all local variables in current stack 
                          frame

classes                -- list currently known classes
class <class id>       -- show details of named class
methods <class id>     -- list a class's methods
fields <class id>      -- list a class's fields

threadgroups           -- list threadgroups
threadgroup <name>     -- set current threadgroup

stop in <class id>.<method>[(argument_type,...)]
                       -- set a breakpoint in a method
stop at <class id>:<line> -- set a breakpoint at a line
clear <class id>.<method>[(argument_type,...)]
                       -- clear a breakpoint in a method
clear <class id>:<line> -- clear a breakpoint at a line
clear                  -- list breakpoints
catch [uncaught|caught|all] <class id>|<class pattern>
                       -- break when specified exception occurs
ignore [uncaught|caught|all] <class id>|<class pattern>
                       -- cancel 'catch' for the specified exception
watch [access|all] <class id>.<field name>
                       -- watch access/modifications to a field
unwatch [access|all] <class id>.<field name>
                       -- discontinue watching access/modifications to
                          a field
trace [go] methods [thread]
                       -- trace method entries and exits.
                       -- All threads are suspended unless 'go' is 
                          specified
trace [go] method exit | exits [thread]
                       -- trace the current method's exit, or all 
                          methods' exits
                       -- All threads are suspended unless 'go' is 
                          specified
untrace [methods]      -- stop tracing method entrys and/or exits
step                   -- execute current line
step up                -- execute until the current method returns to 
                          its caller
stepi                  -- execute current instruction
next                   -- step one line (step OVER calls)
cont                   -- continue execution from breakpoint

list [line number|method] -- print source code
use (or sourcepath) [source file path]
                       -- display or change the source path
exclude [<class pattern>, ... | "none"]
                       -- do not report step or method events for 
                          specified classes
classpath              -- print classpath info from target VM

monitor <command>      -- execute command each time the program stops
monitor                -- list monitors
unmonitor <monitor#>   -- delete a monitor
read <filename>        -- read and execute a command file

lock <expr>            -- print lock info for an object
threadlocks [thread id]-- print lock info for a thread

pop                    -- pop the stack through and including the 
                          current frame
reenter                -- same as pop, but current frame is reentered
redefine <class id> <class file name>
                       -- redefine the code for a class

disablegc <expr>       -- prevent garbage collection of an object
enablegc <expr>        -- permit garbage collection of an object

!!                     -- repeat last command
<n> <command>          -- repeat command n times
# <command>            -- discard (no-op)
help (or ?)            -- list commands
version                -- print version information
exit (or quit)         -- exit debugger

Last update: 2015.

Table of Contents

 About This Book

 Java Tools Terminology

 Installing Java 8 on Windows

 'javac' - The Java Program Compiler

 'java' - The Java Program Launcher

'jdb' - The Java Debugger

 'jdb' - Java Debugger Command and Options

 Starting a Debugging Session with 'jdb'

 Debugging Applications with Separate 'jdb' Sessions

 Debugging Java Applications Remotely

Listing Debugging Commands with 'help' Command

 PrimeNumberSeeker.java - Multi-Thread Sample Program

 Starting Debugging Session on a Multi-Thread Application

 Stepping through Statements of a Child Thread

 Checking Variable Values in a Debugging Session

 Debugging the Main Thread of a Multi-Thread Application

 Switching Execution Threads in a Debugging Session

 Suspending Main Thread to Debug Child Thread

 'jconsole' - Java Monitoring and Management Console

 'jstat' - JVM Statistics Monitoring Tool

 JVM Troubleshooting Tools

 jvisualvm (Java VisualVM) - JVM Visual Tool

 'jar' - The JAR File Tool

 'javap' - The Java Class File Disassembler

 'keytool' - Public Key Certificate Tool

 'native2ascii' - Native-to-ASCII Encoding Converter

 Outdated Tutorials

 References

 PDF Printing Version