t
Copyright (c) 1995, 2014, Oracle and/or its affiliates. All rights reserved.
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.

This code is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License version 2 only, as
published by the Free Software Foundation.

This code is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
version 2 for more details (a copy is included in the LICENSE file that
accompanied this code).

You should have received a copy of the GNU General Public License version
2 along with this work; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.

Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
or visit www.oracle.com if you need additional information or have any
questions.

Title: jdb
Language: Japanese
Date: 2013ǯ11��21��
SectDesc: ���ܥġ���
Software: JDK 8
Arch: ����
Part Number: E58103-01
Doc ID: JSSON

"jdb" "1" "2013ǯ11��21��" "JDK 8" "���ܥġ���"
-----------------------------------------------------------------
* Define some portability stuff
-----------------------------------------------------------------
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
http://bugs.debian.org/507673
http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-----------------------------------------------------------------
* set default formatting
-----------------------------------------------------------------
disable hyphenation
disable justification (adjust text to left margin only)
-----------------------------------------------------------------
* MAIN CONTENT STARTS HERE *
-----------------------------------------------------------------
"̾��"
jdb - Java�ץ�åȥե����ࡦ�ץ�����bug���Ф���ӽ������ޤ���
"����"

.\}

jdb [options] [classname] [arguments]
.\}

options

���ޥ�ɹԥ��ץ�������ץ������Ȥ��Ƥ���������

classname

�ǥХå�����ᥤ�����饹��̾����

arguments

class��main()�᥽�åɤ��Ϥ�������

"����"

Java�ǥХå�(JDB)�ϡ�Java���饹�Ѥδ�ñ�ʥ��ޥ�ɹԥǥХå��Ǥ���jdb���ޥ�ɤȤ��Υ��ץ�����JDB��ƤӽФ��ޤ���jdb���ޥ�ɤϡ�JDBA (Java Platform Debugger Architecture)����Ū�˼¹Ԥ���������ޤ��ϥ�⡼�Ȥ�Java Virtual Machine (JVM)�θ����ȥǥХå���Ԥ����Ȥ��Ǥ��ޤ���Java Platform Debugger Architecture (JDBA) (http://docs.oracle.com/javase/8/docs/technotes/guides/jpda/index.html)���Ȥ��Ƥ���������

"JDB���å����γ���"

JDB���å������Ϥ���ˤ��͡�����ˡ������ޤ����Ǥ����ˤ˻��Ѥ����Τϡ��ǥХå����륢�ץꥱ�������Υᥤ�����饹����Ѥ��ơ�JDB���鿷����JVM��ư������ˡ�Ǥ������ޥ�ɹԤǡ�java���ޥ�ɤΤ�����jdb���ޥ�ɤ����Ϥ��ޤ������Ȥ��С����ץꥱ�������Υᥤ�����饹��MyClass�ξ��ϡ�JDB�Ķ��ǥǥХå�����Ȥ��˼��Υ��ޥ�ɤ���Ѥ��ޤ���

.\}

jdb MyClass
 
.\}

������ˡ�ǵ�ư����ȡ�jdb���ޥ�ɤϡ����ꤵ�줿�ѥ�᡼������Ѥ���2���ܤ�JVM��ƤӽФ��ޤ������ˡ����ꤵ�줿���饹����ɤ��ơ����饹�κǽ��̿���¹Ԥ�������JVM����ߤ����ޤ���

jdb���ޥ�ɤΤ⤦1�Ĥλ�����ˡ�ϡ����Ǥ˼¹����JVM��jdb����³���뤳�ȤǤ���jdb���ޥ�ɤ���³����VM�����μ¹���˵�ư���뤿��ι�ʸ���˼����ޤ�������ϡ�����ץ������ǥХå��ѥ饤�֥�����ɤ�����³�μ������ꤷ�ޤ���

.\}

java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n MyClass
 
.\}

���Υ��ޥ�ɤ���Ѥ��ơ�jdb���ޥ�ɤ�JVM����³�Ǥ��ޤ���

.\}

jdb -attach 8000
 
.\}

���ξ�硢jdb���ޥ�ɤϿ�����JVM��ư���뤫���˴�¸��JVM����³����뤿�ᡢjdb���ޥ�ɹԤ�MyClass�����ϻ��ꤷ�ޤ���

�ǥХå���JVM����³����ˤ�¾�ˤ��͡�����ˡ�����ꡢ���٤�jdb���ޥ�ɤǥ��ݡ��Ȥ���Ƥ��ޤ�����³���ץ����ˤĤ��Ƥϡ�Java Platform Debugger Architecture�Υɥ�����Ȥ��Ȥ��Ƥ���������

"����jdb���ޥ��"

����Ū��jdb���ޥ�ɤΰ��������ޤ���JDB�����ݡ��Ȥ��륳�ޥ�ɤϤ���ʳ��ˤ⤢�ꡢ������-help���ץ�������Ѥ���ɽ���Ǥ��ޤ���

help�ޤ���?

help�ޤ���?���ޥ�ɤϡ�ǧ�����줿���ޥ�ɤΥꥹ�Ȥ˴ʷ���������դ���ɽ�����ޤ���

run

JDB��ư���ƥ֥졼���ݥ���Ȥ����ꤷ�����Ȥˡ�run���ޥ�ɤ���Ѥ��ơ��ǥХå����륢�ץꥱ�������μ¹Ԥ��ϤǤ��ޤ���run���ޥ�ɤϡ���¸��VM����³���Ƥ�����Ȥϰۤʤꡢ�ǥХå����륢�ץꥱ�������jdb���鵯ư�����Ȥ��ˤΤ߻��ѤǤ��ޤ���

cont

�֥졼���ݥ���ȡ��㳰���ޤ��ϥ��ƥå׼¹Ԥθ�ǡ��ǥХå����륢�ץꥱ�������μ¹Ԥ��³���ޤ���

print

Java���֥������Ȥ���ӥץ�ߥƥ����ͤ�ɽ�����ޤ����ץ�ߥƥ��ַ����ѿ��ޤ��ϥե�����ɤξ��ˤϡ��ºݤ��ͤ����Ϥ���ޤ������֥������Ȥξ��ˤϡ�û�����������Ϥ���ޤ������֥������Ȥξܺ٤����������ˡ��õ���ˤϡ�dump���ޥ�ɤ��Ȥ��Ƥ��������� ���: �������ѿ���ɽ������ˤϡ��ޤ�Ǥ��륯�饹��javac -g���ץ�������Ѥ��ƥ���ѥ��뤵��Ƥ���ɬ�פ�����ޤ��� print���ޥ�ɤϡ����˼����褦�ʡ��᥽�åɸƽФ�����Ѥ�����Τʤɡ�¿���δ�ñ��Java�����ݡ��Ȥ��ޤ���

.\}

print MyClass.myStaticField
print myObj.myInstanceField
print i + j + k (i, j, k are primities and either fields or local variables)
print myObj.myMethod() (if myMethod returns a non-null)
print new java.lang.String("Hello").length()
 
.\}

dump

�ץ�ߥƥ����ͤξ�硢dump���ޥ�ɤ�print���ޥ�ɤ�Ʊ��Ǥ������֥������Ȥξ�硢dump���ޥ�ɤǤϡ����֥�����������������Ƥ���ƥե�����ɤθ��ߤ��ͤ����Ϥ���ޤ���static�ե�����ɤ�instance�ե�����ɤ����Ϥ���ޤ���dump���ޥ�ɤǤϡ�print���ޥ�ɤ�Ʊ���������ݡ��Ȥ���ޤ���

threads

���߼¹���Υ���åɤ����ɽ�����ޤ�������åɤ��Ȥˡ�̾���ȸ��ߤξ��֡������¾�Υ��ޥ�ɤ˻��ѤǤ��륤��ǥå��������Ϥ���ޤ���������Ǥϡ�����åɡ�����ǥå�����4�Ǥ��ꡢ����åɤ�java.lang.Thread�Υ��������ǡ�����åɤ�̾����main�Ǥ��ꡢ���߼¹���Ǥ���

.\}

4. (java.lang.Thread)0x1 main running
 
.\}

thread

���ߤΥ���åɤˤ��륹��åɤ������ޤ���¿����jdb���ޥ�ɤϡ����ߤΥ���åɤ�����˴�Ť��Ƽ¹Ԥ���ޤ�������åɤϡ�threads���ޥ�ɤ�������������åɡ�����ǥå����ȤȤ�˻��ꤷ�ޤ���

where

��������ꤷ�ʤ���where���ޥ�ɤ�¹Ԥ���ȡ����ߤΥ���åɤΥ����å�������פ���ޤ���where all���ޥ�ɤϡ����ߤΥ���åɡ����롼�פˤ��륹��åɤΥ����å����٤ƥ���פ��ޤ���where threadindex���ޥ�ɤϡ����ꤵ�줿����åɤΥ����å������פ��ޤ��� ���ߤΥ���åɤ�(�֥졼���ݥ���Ȥ�suspend���ޥ�ɤˤ�ä�)���Ǥ��Ƥ�����ϡ��������ѿ��ȥե�����ɤ�print���ޥ�ɤ�dump���ޥ�ɤ�ɽ���Ǥ��ޤ���up���ޥ�ɤ�down���ޥ�ɤǡ��ɤΥ����å����ե졼����ߤΥ����å����ե졼��ˤ��뤫�����֤��Ȥ��Ǥ��ޤ���

"�֥졼���ݥ����"

�֥졼���ݥ���Ȥϡ����ֹ�ޤ��ϥ᥽�åɤκǽ��̿���JDB������Ǥ��ޤ�������������ޤ���

\h'-04'\(bu\h'+03'\c .\}

\(bu 2.3
.\} ���ޥ��stop at MyClass:22�ϡ�MyClass���ޤޤ�륽�������ե������22���ܤκǽ��̿��˥֥졼���ݥ���Ȥ����ꤷ�ޤ���

\h'-04'\(bu\h'+03'\c .\}

\(bu 2.3
.\} ���ޥ��stop in java.lang.String.length�ϡ��᥽�å�java.lang.String.length����Ƭ�˥֥졼���ݥ���Ȥ����ꤷ�ޤ���

\h'-04'\(bu\h'+03'\c .\}

\(bu 2.3
.\} ���ޥ��stop in MyClass.<clinit>�ϡ�<clinit>����Ѥ��ơ�MyClass����Ū����������ɤ����ꤷ�ޤ���

�᥽�åɤ������С����ɤ���Ƥ�����ˤϡ��᥽�åɤΰ����η�����ꤷ�ơ��֥졼���ݥ���Ȥ��Ф���Ŭ�ڤʥ᥽�åɤ��������褦�ˤ���ɬ�פ�����ޤ������Ȥ��С�MyClass.myMethod(int,java.lang.String)�ޤ���MyClass.myMethod()�Ȼ��ꤷ�ޤ���

clear���ޥ�ɤϡ�clear MyClass:45�Τ褦�ʹ�ʸ����Ѥ��ƥ֥졼���ݥ���Ȥ������ޤ���clear����Ѥ��뤫����������ꤷ�ʤ���stop���ޥ�ɤ���Ѥ���ȡ��������ꤵ��Ƥ��뤹�٤ƤΥ֥졼���ݥ���Ȥ�ɽ������ޤ���cont���ޥ�ɤϼ¹Ԥ��³���ޤ���

"���ƥå׼¹�"

step���ޥ�ɤϡ����ߤΥ����å����ե졼��ޤ��ϸƤӽФ��줿�᥽�å���ǡ����ιԤ�¹Ԥ��ޤ���next���ޥ�ɤϡ����ߤΥ����å����ե졼��μ��ιԤ�¹Ԥ��ޤ���

"�㳰"

�������Ƥ��륹��åɤθƽФ������å���Τɤ��ˤ�catchʸ���ʤ������㳰��ȯ������ȡ�JVM���̾�㳰�ȥ졼������Ϥ��ƽ�λ���ޤ�����������JDB�Ķ��Ǽ¹Ԥ��Ƥ�����ϡ���ȿ�Υ�������JDB�����椬���ޤ������ˡ�jdb���ޥ�ɤ���Ѥ����㳰�θ�������Ǥ��ޤ���

���Ȥ��С�catch java.io.FileNotFoundException�ޤ���catch mypackage.BigTroubleException�Τ褦��catch���ޥ�ɤ���Ѥ���ȡ��ǥХå����줿���ץꥱ�������ϡ�¾���㳰���������줿�Ȥ�����ߤ��ޤ����㳰������Υ��饹�ޤ��ϥ��֥��饹�Υ��������ξ��ϡ����ץꥱ���������㳰���������줿������ߤ��ޤ���

ignore���ޥ�ɤ���Ѥ���ȡ�������catch���ޥ�ɤθ��̤�̵���ˤʤ�ޤ���ignore���ޥ�ɤǤϡ��ǥХå������JVM��������㳰��̵�뤻�����ǥХå��Τߤ�̵�뤷�ޤ���

"���ץ����"

���ޥ�ɹԤ�java���ޥ�ɤΤ�����jdb���ޥ�ɤ���Ѥ����硢jdb���ޥ�ɤϡ�-D��-classpath��-X�ʤɡ�java���ޥ�ɤ�Ʊ�����Υ��ץ������������ޤ���jdb���ޥ�ɤϡ�����¾�˼��Υꥹ�Ȥˤ��륪�ץ������������ޤ���

�ǥХå���Ԥ�JVM�˥ǥХå�����³���뤿������ص����������뤿��ˡ�����¾�Υ��ץ�������ݡ��Ȥ���Ƥ��ޤ�����������³�����ؤ˴ؤ���ܺ٤ʥɥ�����Ȥϡ�Java Platform Debugger Architecture (JPDA) (http://docs.oracle.com/javase/8/docs/technotes/guides/jpda/index.html)���Ȥ��Ƥ�������

-help

�إ�ס���å�������ɽ�����ޤ���

-sourcepath dir1:dir2: . . .

���ꤵ�줿�ѥ�����Ѥ��ơ����������ե�����������ޤ������Υ��ץ�������ꤵ��Ƥ��ʤ����ϡ��ǥե���ȡ��ѥ��Υɥå�(.)�����Ѥ���ޤ���

-attach address

�ǥե���Ȥ���³��������Ѥ��ơ��¹����JVM�˥ǥХå�����³���ޤ���

-listen address

�¹����JVM��ɸ��Υ��ͥ�������Ѥ��ƻ��ꤵ�줿���ɥ쥹����³����Τ��Ե����ޤ���

-launch

�ǥХå����륢�ץꥱ��������JDB�ε�ư�夿�����˵�ư���ޤ���-launch���ץ����ˤ�ꡢrun���ޥ�ɤ�ɬ�פʤ��ʤ�ޤ����ǥХå����륢�ץꥱ�������ϡ���ư�塢������ץꥱ����������饹�����ɤ����ľ������ߤ��ޤ������λ����ǡ�ɬ�פʥ֥졼���ݥ���Ȥ����ꤷ��cont���ޥ�ɤ���Ѥ��Ƽ¹Ԥ��³�Ǥ��ޤ���

-listconnectors

����JVM�����ѤǤ��륳�ͥ��������ɽ�����ޤ���

-connect connector-name:name1=value1

����ɽ�����줿�������ͤȻ���Υ��ͥ�������Ѥ��ƥ������å�JVM����³���ޤ���

-dbgtrace [flags]

jdb���ޥ�ɤΥǥХå��ξ������Ϥ��ޤ���

-tclient

Java HotSpot VM���饤�������ǥ��ץꥱ��������¹Ԥ��ޤ���

-tserver

Java HotSpot VM�����С���ǥ��ץꥱ��������¹Ԥ��ޤ���

-Joption

JVM��option���Ϥ��ޤ���option�ˤϡ�Java���ץꥱ�������ư�ġ���Υ�ե�������ڡ����˵��ܤ���Ƥ��륪�ץ�����1�Ļ��ꤷ�ޤ������Ȥ��С�-J-Xms48m�Ȼ��ꤹ��ȡ��������ȥ��åס����꡼��48MB�����ꤵ��ޤ���java(1)���Ȥ��Ƥ���������

"�ǥХå����ץ�����ž������륪�ץ����"

-v -verbose[:class|gc|jni]

��Ĺ�⡼�ɤˤ��ޤ���

-Dname=value

�����ƥࡦ�ץ�ѥƥ������ꤷ�ޤ���

-classpath dir

���饹�������뤿��Ρ������Ƕ��ڤäƻ��ꤵ�줿�ǥ��쥯�ȥ�Υꥹ�ȡ�

-Xoption

��ɸ�ॿ�����å�JVM���ץ����Ǥ���

"��Ϣ����"

\h'-04'\(bu\h'+03'\c .\}

\(bu 2.3
.\} javac(1)

\h'-04'\(bu\h'+03'\c .\}

\(bu 2.3
.\} java(1)

\h'-04'\(bu\h'+03'\c .\}

\(bu 2.3
.\} javap(1)

'pl 8.5i 'bp