jdk/src/linux/doc/man/jdb.1
author ctornqvi
Wed, 18 Feb 2015 19:28:08 -0800
changeset 29105 3927f8f0bf4b
parent 21743 3d979da7bdf0
child 31876 91b22707521a
permissions -rw-r--r--
Merge
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
21743
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
     1
'\" t
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
     2
.\"  Copyright (c) 1995, 2013, Oracle and/or its affiliates. All rights reserved.
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
     3
.\"
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
     4
.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
     5
.\"
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
     6
.\" This code is free software; you can redistribute it and/or modify it
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
     7
.\" under the terms of the GNU General Public License version 2 only, as
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
     8
.\" published by the Free Software Foundation.
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
     9
.\"
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
    10
.\" This code is distributed in the hope that it will be useful, but WITHOUT
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
    11
.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
    12
.\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
    13
.\" version 2 for more details (a copy is included in the LICENSE file that
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
    14
.\" accompanied this code).
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
    15
.\"
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
    16
.\" You should have received a copy of the GNU General Public License version
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
    17
.\" 2 along with this work; if not, write to the Free Software Foundation,
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
    18
.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
    19
.\"
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
    20
.\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
    21
.\" or visit www.oracle.com if you need additional information or have any
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
    22
.\" questions.
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
    23
.\"
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
    24
.\"     Arch: generic
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
    25
.\"     Software: JDK 8
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
    26
.\"     Date: 21 November 2013
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
    27
.\"     SectDesc: Basic Tools
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
    28
.\"     Title: jdb.1
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
    29
.\"
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
    30
.if n .pl 99999
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
    31
.TH jdb 1 "21 November 2013" "JDK 8" "Basic Tools"
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
    32
.\" -----------------------------------------------------------------
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
    33
.\" * Define some portability stuff
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
    34
.\" -----------------------------------------------------------------
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
    35
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
    36
.\" http://bugs.debian.org/507673
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
    37
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
    38
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
    39
.ie \n(.g .ds Aq \(aq
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
    40
.el       .ds Aq '
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
    41
.\" -----------------------------------------------------------------
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
    42
.\" * set default formatting
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
    43
.\" -----------------------------------------------------------------
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
    44
.\" disable hyphenation
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
    45
.nh
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
    46
.\" disable justification (adjust text to left margin only)
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
    47
.ad l
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
    48
.\" -----------------------------------------------------------------
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
    49
.\" * MAIN CONTENT STARTS HERE *
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
    50
.\" -----------------------------------------------------------------
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    51
21743
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
    52
.SH NAME    
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
    53
jdb \- Finds and fixes bugs in Java platform programs\&.
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
    54
.SH SYNOPSIS    
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
    55
.sp     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
    56
.nf     
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    57
21743
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
    58
\fBjdb\fR [\fIoptions\fR] [\fIclassname\fR]  [\fIarguments\fR]
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
    59
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
    60
.sp     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
    61
.TP     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
    62
\fIoptions\fR
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
    63
Command-line options\&. See Options\&.
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
    64
.TP     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
    65
\fIclass\fRname
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
    66
Name of the main class to debug\&.
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
    67
.TP     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
    68
\fIarguments\fR
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
    69
Arguments passed to the \f3main()\fR method of the class\&.
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
    70
.SH DESCRIPTION    
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
    71
The Java Debugger (JDB) is a simple command-line debugger for Java classes\&. The \f3jdb\fR command and its options call the JDB\&. The \f3jdb\fR command demonstrates the Java Platform Debugger Architecture (JDBA) and provides inspection and debugging of a local or remote Java Virtual Machine (JVM)\&. See Java Platform Debugger Architecture (JDBA) at http://docs\&.oracle\&.com/javase/8/docs/technotes/guides/jpda/index\&.html
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
    72
.SS START\ A\ JDB\ SESSION    
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
    73
There are many ways to start a JDB session\&. The most frequently used way is to have JDB launch a new JVM with the main class of the application to be debugged\&. Do this by substituting the \f3jdb\fR command for the \f3java\fR command in the command line\&. For example, if your application\&'s main class is \f3MyClass\fR, then use the following command to debug it under JDB:
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
    74
.sp     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
    75
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
    76
\f3jdb MyClass\fP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
    77
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
    78
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
    79
\f3\fP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
    80
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
    81
.sp     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
    82
When started this way, the \f3jdb\fR command calls a second JVM with the specified parameters, loads the specified class, and stops the JVM before executing that class\&'s first instruction\&.
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
    83
.PP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
    84
Another way to use the \f3jdb\fR command is by attaching it to a JVM that is already running\&. Syntax for starting a JVM to which the \f3jdb\fR command attaches when the JVM is running is as follows\&. This loads in-process debugging libraries and specifies the kind of connection to be made\&.
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
    85
.sp     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
    86
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
    87
\f3java \-agentlib:jdwp=transport=dt_socket,server=y,suspend=n MyClass\fP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
    88
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
    89
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
    90
\f3\fP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
    91
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
    92
.sp     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
    93
You can then attach the \f3jdb\fR command to the JVM with the following command:
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
    94
.sp     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
    95
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
    96
\f3jdb \-attach 8000\fP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
    97
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
    98
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
    99
\f3\fP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   100
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   101
.sp     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   102
The \f3MyClass\fR argument is not specified in the \f3jdb\fR command line in this case because the \f3jdb\fR command is connecting to an existing JVM instead of launching a new JVM\&.
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   103
.PP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   104
There are many other ways to connect the debugger to a JVM, and all of them are supported by the \f3jdb\fR command\&. The Java Platform Debugger Architecture has additional documentation on these connection options\&.
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   105
.SS BASIC\ JDB\ COMMANDS    
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   106
The following is a list of the basic \f3jdb\fR commands\&. The JDB supports other commands that you can list with the \f3-help\fR option\&.
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   107
.TP     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   108
help or ?
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   109
The \f3help\fR or \f3?\fR commands display the list of recognized commands with a brief description\&.
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   110
.TP     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   111
run
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   112
After you start JDB and set breakpoints, you can use the \f3run\fR command to execute the debugged application\&. The \f3run\fR command is available only when the \f3jdb\fR command starts the debugged application as opposed to attaching to an existing JVM\&.
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   113
.TP     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   114
cont
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   115
Continues execution of the debugged application after a breakpoint, exception, or step\&.
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   116
.TP     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   117
print
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   118
Displays Java objects and primitive values\&. For variables or fields of primitive types, the actual value is printed\&. For objects, a short description is printed\&. See the dump command to find out how to get more information about an object\&.
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   119
21743
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   120
\fINote:\fR To display local variables, the containing class must have been compiled with the \f3javac -g\fR option\&.
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   121
21743
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   122
The \f3print\fR command supports many simple Java expressions including those with method invocations, for example:
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   123
.sp     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   124
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   125
\f3print MyClass\&.myStaticField\fP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   126
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   127
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   128
\f3print myObj\&.myInstanceField\fP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   129
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   130
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   131
\f3print i + j + k (i, j, k are primities and either fields or local variables)\fP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   132
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   133
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   134
\f3print myObj\&.myMethod() (if myMethod returns a non\-null)\fP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   135
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   136
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   137
\f3print new java\&.lang\&.String("Hello")\&.length()\fP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   138
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   139
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   140
\f3\fP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   141
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   142
.sp     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   143
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   144
.TP     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   145
dump
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   146
For primitive values, the \f3dump\fR command is identical to the \f3print\fR command\&. For objects, the \f3dump\fR command prints the current value of each field defined in the object\&. Static and instance fields are included\&. The \f3dump\fR command supports the same set of expressions as the \f3print\fR command\&.
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   147
.TP     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   148
threads
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   149
List the threads that are currently running\&. For each thread, its name and current status are printed and an index that can be used in other commands\&. In this example, the thread index is 4, the thread is an instance of \f3java\&.lang\&.Thread\fR, the thread name is \f3main\fR, and it is currently running\&.
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   150
.sp     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   151
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   152
\f34\&. (java\&.lang\&.Thread)0x1 main      running\fP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   153
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   154
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   155
\f3\fP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   156
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   157
.sp     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   158
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   159
.TP     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   160
thread
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   161
Select a thread to be the current thread\&. Many \f3jdb\fR commands are based on the setting of the current thread\&. The thread is specified with the thread index described in the threads command\&.
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   162
.TP     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   163
where
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   164
The \f3where\fR command with no arguments dumps the stack of the current thread\&. The \f3where\fR\f3all\fR command dumps the stack of all threads in the current thread group\&. The \f3where\fR\f3threadindex\fR command dumps the stack of the specified thread\&.
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   165
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   166
If the current thread is suspended either through an event such as a breakpoint or through the \f3suspend\fR command, then local variables and fields can be displayed with the \f3print\fR and \f3dump\fR commands\&. The \f3up\fR and \f3down\fR commands select which stack frame is the current stack frame\&.
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   167
.SS BREAKPOINTS    
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   168
Breakpoints can be set in JDB at line numbers or at the first instruction of a method, for example:
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   169
.TP 0.2i    
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   170
\(bu
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   171
The command \f3stop at MyClass:22\fR sets a breakpoint at the first instruction for line 22 of the source file containing \f3MyClass\fR\&.
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   172
.TP 0.2i    
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   173
\(bu
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   174
The command \f3stop in java\&.lang\&.String\&.length\fR sets a breakpoint at the beginning of the method \f3java\&.lang\&.String\&.length\fR\&.
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   175
.TP 0.2i    
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   176
\(bu
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   177
The command \f3stop in MyClass\&.<clinit>\fR uses \f3<clinit>\fR to identify the static initialization code for \f3MyClass\fR\&.
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   178
.PP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   179
When a method is overloaded, you must also specify its argument types so that the proper method can be selected for a breakpoint\&. For example, \f3MyClass\&.myMethod(int,java\&.lang\&.String)\fR or \f3MyClass\&.myMethod()\fR\&.
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   180
.PP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   181
The \f3clear\fR command removes breakpoints using the following syntax: \f3clear MyClass:45\fR\&. Using the \f3clear\fR or \f3stop\fR command with no argument displays a list of all breakpoints currently set\&. The \f3cont\fR command continues execution\&.
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   182
.SS STEPPING    
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   183
The \f3step\fR command advances execution to the next line whether it is in the current stack frame or a called method\&. The \f3next\fR command advances execution to the next line in the current stack frame\&.
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   184
.SS EXCEPTIONS    
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   185
When an exception occurs for which there is not a \f3catch\fR statement anywhere in the throwing thread\&'s call stack, the JVM typically prints an exception trace and exits\&. When running under JDB, however, control returns to JDB at the offending throw\&. You can then use the \f3jdb\fR command to diagnose the cause of the exception\&.
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   186
.PP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   187
Use the \f3catch\fR command to cause the debugged application to stop at other thrown exceptions, for example: \f3catch java\&.io\&.FileNotFoundException\fR or \f3catch\fR\f3mypackage\&.BigTroubleException\fR\&. Any exception that is an instance of the specified class or subclass stops the application at the point where it is thrown\&.
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   188
.PP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   189
The \f3ignore\fR command negates the effect of an earlier \f3catch\fR command\&. The \f3ignore\fR command does not cause the debugged JVM to ignore specific exceptions, but only to ignore the debugger\&.
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   190
.SH OPTIONS    
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   191
When you use the \f3jdb\fR command instead of the \f3java\fR command on the command line, the \f3jdb\fR command accepts many of the same options as the \f3java\fR command, including \f3-D\fR, \f3-classpath\fR, and \f3-X\fR options\&. The following list contains additional options that are accepted by the \f3jdb\fR command\&.
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   192
.PP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   193
Other options are supported to provide alternate mechanisms for connecting the debugger to the JVM it is to debug\&. For additional documentation about these connection alternatives, see Java Platform Debugger Architecture (JPDA) at http://docs\&.oracle\&.com/javase/8/docs/technotes/guides/jpda/index\&.html
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   194
.TP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   195
-help
9573
c02ff5a7c67b 7043684: Update man pages for JDK 7 tools
bpatel
parents: 5865
diff changeset
   196
.br
21743
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   197
Displays a help message\&.
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   198
.TP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   199
-sourcepath \fIdir1:dir2: \&. \&. \&.\fR
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   200
.br
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   201
Uses the specified path to search for source files in the specified path\&. If this option is not specified, then use the default path of dot (\&.)\&.
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   202
.TP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   203
-attach \fIaddress\fR
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   204
.br
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   205
Attaches the debugger to a running JVM with the default connection mechanism\&.
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   206
.TP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   207
-listen \fIaddress\fR
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   208
.br
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   209
Waits for a running JVM to connect to the specified address with a standard connector\&.
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   210
.TP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   211
-launch
9573
c02ff5a7c67b 7043684: Update man pages for JDK 7 tools
bpatel
parents: 5865
diff changeset
   212
.br
21743
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   213
Starts the debugged application immediately upon startup of JDB\&. The \f3-launch\fR option removes the need for the \f3run\fR command\&. The debugged application is launched and then stopped just before the initial application class is loaded\&. At that point, you can set any necessary breakpoints and use the \f3cont\fR command to continue execution\&.
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   214
.TP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   215
-listconnectors
9573
c02ff5a7c67b 7043684: Update man pages for JDK 7 tools
bpatel
parents: 5865
diff changeset
   216
.br
21743
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   217
List the connectors available in this JVM\&.
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   218
.TP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   219
-connect connector-name:\fIname1=value1\fR
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   220
.br
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   221
Connects to the target JVM with the named connector and listed argument values\&.
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   222
.TP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   223
-dbgtrace [\fIflags\fR]
9573
c02ff5a7c67b 7043684: Update man pages for JDK 7 tools
bpatel
parents: 5865
diff changeset
   224
.br
21743
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   225
Prints information for debugging the \f3jdb\fR command\&.
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   226
.TP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   227
-tclient
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   228
.br
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   229
Runs the application in the Java HotSpot VM client\&.
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   230
.TP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   231
-tserver
9573
c02ff5a7c67b 7043684: Update man pages for JDK 7 tools
bpatel
parents: 5865
diff changeset
   232
.br
21743
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   233
Runs the application in the Java HotSpot VM server\&.
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   234
.TP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   235
-J\fIoption\fR
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   236
.br
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   237
Passes \f3option\fR to the JVM, where option is one of the options described on the reference page for the Java application launcher\&. For example, \f3-J-Xms48m\fR sets the startup memory to 48 MB\&. See java(1)\&.
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   238
.SH OPTIONS\ FORWARDED\ TO\ THE\ DEBUGGER\ PROCESS    
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   239
.TP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   240
-v -verbose[:\fIclass\fR|gc|jni]
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   241
.br
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   242
Turns on verbose mode\&.
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   243
.TP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   244
-D\fIname\fR=\fIvalue\fR
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   245
.br
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   246
Sets a system property\&.
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   247
.TP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   248
-classpath \fIdir\fR
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   249
.br
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   250
Lists directories separated by colons in which to look for classes\&.
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   251
.TP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   252
-X\fIoption\fR
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   253
.br
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   254
Nonstandard target JVM option\&.
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   255
.SH SEE\ ALSO    
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   256
.TP 0.2i    
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   257
\(bu
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   258
javac(1)
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   259
.TP 0.2i    
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   260
\(bu
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   261
java(1)
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   262
.TP 0.2i    
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   263
\(bu
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   264
javah(1)
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   265
.TP 0.2i    
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   266
\(bu
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   267
javap(1)
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   268
.RE
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   269
.br
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   270
'pl 8.5i
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 9573
diff changeset
   271
'bp