jdb.1 revision 4935
0N/A." Copyright (c) 1995, 2011, Oracle and/or its affiliates. All rights reserved.
0N/A." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
0N/A."
0N/A." This code is free software; you can redistribute it and/or modify it
0N/A." under the terms of the GNU General Public License version 2 only, as
0N/A." published by the Free Software Foundation.
0N/A."
0N/A." This code is distributed in the hope that it will be useful, but WITHOUT
0N/A." ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
0N/A." FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
0N/A." version 2 for more details (a copy is included in the LICENSE file that
0N/A." accompanied this code).
0N/A."
0N/A." You should have received a copy of the GNU General Public License version
0N/A." 2 along with this work; if not, write to the Free Software Foundation,
0N/A." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
0N/A."
0N/A." Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
0N/A." or visit www.oracle.com if you need additional information or have any
0N/A." questions.
0N/A."
0N/A.TH jdb 1 "21 Mar 2012"
0N/A
0N/A.LP
0N/A.SH "̾��"
0N/Ajdb \- Java�ǥХå�
0N/A.LP
0N/A.LP
0N/A\f3jdb\fP�ϡ�Java����ץ?���ΥХ��򸫤Ĥ��ƽ������뤿��˻��Ѥ���ġ���Ǥ���
0N/A.LP
0N/A.SH "����"
0N/A.LP
0N/A.nf
0N/A\f3
0N/A.fl
0N/A\fP\f3jdb\fP [ options ] [ class ] [ arguments ]
0N/A.fl
0N/A.fi
0N/A
0N/A.LP
91N/A.RS 3
0N/A.TP 3
0N/Aoptions
0N/A���˼������ޥ�ɥ饤�󡦥��ץ����
.TP 3
class
�ǥХå��򳫻Ϥ��륯�饹��̾��
.TP 3
arguments
\f2class\fP��\f2main()\fP�᥽�åɤ��Ϥ����
.RE
.LP
.SH "����"
.LP
.LP
Java�ǥХå�\f3jdb\fP�ϡ�Java���饹�Ѥδ�ñ�ʥ��ޥ�ɥ饤�󡦥ǥХå��Ǥ���
.na
\f2Java Platform Debugger Architecture\fP @
.fi
http://download.oracle.com/javase/7/docs/technotes/guides/jpda/index.html����Ū�˼¹Ԥ����?����ޤ��ϥ�⡼�Ȥ�Java Virtual Machine�θ����ȥǥХå���Ԥ����Ȥ��Ǥ��ޤ���
.LP
.SS
jdb���å����γ���
.LP
.LP
jdb���å����򳫻Ϥ���ˤ��͡�����ˡ������ޤ����Ǥ����ˤ˻��Ѥ����Τϡ��ǥХå����륢�ץꥱ�������Υᥤ�󡦥��饹����Ѥ��ơ�\f3jdb\fP���鿷����Java���ۥޥ���(VM)��ư������ˡ�Ǥ������ޥ�ɥ饤��ǡ�\f3java\fP�Τ�����\f3jdb\fP���ޥ�ɤ����Ϥ��ޤ������Ȥ��С����ץꥱ�������Υᥤ�󡦥��饹��MyClass�ξ��ϡ�JDB�Ķ��ǥǥХå�����Ȥ��˼��Υ��ޥ�ɤ���Ѥ��ޤ���
.LP
.nf
\f3
.fl
% jdb MyClass
.fl
\fP
.fi
.LP
.LP
������ˡ�ǵ�ư����ȡ�\f3jdb\fP�ϡ����ꤵ�줿�ѥ�᡼������Ѥ���2���ܤ�Java VM��ƤӽФ��ޤ������ˡ����ꤵ�줿���饹��?�ɤ��ơ����饹�κǽ��̿���¹Ԥ�������VM����ߤ����ޤ���
.LP
.LP
\f3jdb\fP�Τ⤦1�Ĥλ�����ˡ�ϡ����Ǥ˼¹����Java VM��jdb����³���뤳�ȤǤ���jdb����³����VM�򡢤��μ¹���˵�ư���뤿��ι�ʸ�򼡤˼����ޤ�������ϡ�����ץ?�����ǥХå��ѥ饤�֥���?�ɤ�����³�μ������ꤷ�ޤ���
.LP
.nf
\f3
.fl
\-agentlib:jdwp=transport=dt_socket,server=y,suspend=n
.fl
\fP
.fi
.LP
.LP
���Ȥ��С����Υ��ޥ�ɤϡ�MyClass���ץꥱ��������¹Ԥ��ơ�\f3jdb\fP�����ȤǤ��Υ��ץꥱ����������³�Ǥ���褦�ˤ��ޤ���
.LP
.nf
\f3
.fl
% java \-agentlib:jdwp=transport=dt_socket,address=8000,server=y,suspend=n MyClass
.fl
\fP
.fi
.LP
.LP
���Υ��ޥ�ɤ���Ѥ��ơ�\f3jdb\fP��VM����³�Ǥ��ޤ���
.LP
.nf
\f3
.fl
% jdb \-attach 8000
.fl
\fP
.fi
.LP
.LP
���ξ�硢\f3jdb\fP�Ͽ�����VM��ư���뤫���˴�¸��VM����³����뤿�ᡢ\f3jdb\fP���ޥ�ɥ饤��ˤϡ�MyClass�פϻ��ꤷ�ޤ���
.LP
.LP
�ǥХå���VM����³����ˤ�¾�ˤ��͡�����ˡ�����ꡢ���٤�\f3jdb\fP�ǥ��ݡ��Ȥ���Ƥ��ޤ�����³���ץ����ˤĤ��Ƥϡ�Java Platform Debugger Architecture��
.na
\f2�ɥ������\fP @
.fi
http://download.oracle.com/javase/7/docs/technotes/guides/jpda/conninv.html�򻲾Ȥ��Ƥ���������\f3jdb\fP�ǻ��Ѥ��뤿���J2SE 1.4.2������VM��ư������ˡ�ˤĤ��Ƥϡ�
.na
\f21.4.2�Υɥ������\fP @
.fi
http://java.sun.com/j2se/1.4.2/docs/guide/jpda/conninv.html�򻲾Ȥ��Ƥ���������
.LP
.SS
����jdb���ޥ��
.LP
.LP
����Ū��\f3jdb\fP���ޥ�ɤΰ����򼨤��ޤ���Java�ǥХå������ݡ��Ȥ��륳�ޥ�ɤϤ���ʳ��ˤ⤢�ꡢ������\f3jdb\fP��\f2help\fP���ޥ�ɤ���Ѥ���ɽ���Ǥ��ޤ���
.LP
.RS 3
.TP 3
help�ޤ���?
�Ǥ���פ�\f3jdb\fP���ޥ��\f2help\fP�ϡ�ǧ�����줿���ޥ�ɤΥꥹ�Ȥ˴ʷ���������դ���ɽ�����ޤ���
.TP 3
run
\f3jdb\fP��ư����ɬ�פʥ֥졼���ݥ���Ȥ����ꤷ�����Ȥˡ����Υ��ޥ�ɤ���Ѥ��ơ��ǥХå����륢�ץꥱ�������μ¹Ԥ򳫻ϤǤ��ޤ������Υ��ޥ�ɤϡ���¸��VM����³���Ƥ�����Ȥϰۤʤꡢ�ǥХå����륢�ץꥱ�������\f3jdb\fP���鵯ư�����Ȥ��ˤΤ߻��ѤǤ��ޤ���
.TP 3
cont
�֥졼���ݥ���ȡ��㳰���ޤ��ϥ��ƥå׼¹Ԥθ�ǡ��ǥХå����륢�ץꥱ�������μ¹Ԥ��³���ޤ���
.TP 3
print
Java���֥������Ȥ���ӥץ�ߥƥ����ͤ�ɽ�����ޤ����ץ�ߥƥ��ַ����ѿ��ޤ��ϥե�����ɤξ��ˤϡ��ºݤ��ͤ����Ϥ���ޤ������֥������Ȥξ��ˤϡ�û�����������Ϥ���ޤ������֥������ȤˤĤ��Ƥϡ��ʹߤ�\f2dump\fP���ޥ�ɤ������򻲾Ȥ��Ƥ���������
.br
.br
\f2���: �?�����ѿ���ɽ������ˤϡ������ѿ���ޤ९�饹��\fP\f2javac(1)\fP\f2 \fP\f2\-g\fP���ץ����ǥ���ѥ��뤵��Ƥ���ɬ�פ�����ޤ���
.br
.br
\f2print\fP�Ǥϡ��᥽�åɤθƽФ���ޤ�¿���δ�ñ��Java�������ݡ��Ȥ���Ƥ��ޤ���������򼨤��ޤ���
.RS 3
.TP 2
o
\f2print MyClass.myStaticField\fP
.TP 2
o
\f2print myObj.myInstanceField\fP
.TP 2
o
\f2print i+j+k\fP \f2(i��j�������k�ϥץ�ߥƥ��֤Ǥ��ꡢ�ե�����ɤޤ��ϥ?�����ѿ��Τ����줫)\fP
.TP 2
o
\f2print myObj.myMethod()\fP \f2(myMethod��null�ʳ����֤����)\fP
.TP 2
o
\f2print new java.lang.String("Hello").length()\fP
.RE
.TP 3
dump
�ץ�ߥƥ����ͤξ��ˤϡ����Υ��ޥ�ɤ�\f2print\fP��Ʊ���Ǥ������֥������Ȥξ��ˤϡ����֥�����������������Ƥ���ƥե�����ɤθ��ߤ��ͤ����Ϥ���ޤ���static�ե�����ɤ�instance�ե�����ɤ����Ϥ���ޤ���
.br
.br
\f2dump\fP���ޥ�ɤǤϡ�\f2print\fP���ޥ�ɤ�Ʊ���������ݡ��Ȥ���ޤ���
.TP 3
threads
���߼¹���Υ���åɤ����ɽ�����ޤ�������åɤ��Ȥˡ�̾���ȸ��ߤξ��֡������¾�Υ��ޥ�ɤ˻��ѤǤ��륤��ǥå��������Ϥ���ޤ���������򼨤��ޤ���
.nf
\f3
.fl
4. (java.lang.Thread)0x1 main running
.fl
\fP
.fi
������Ǥϡ�����åɡ�����ǥå�����4�Ǥ��ꡢ����åɤ�java.lang.Thread�Υ��󥹥��󥹤Ǥ�������åɤ�̾���ϡ�main�פǤ��ꡢ���߼¹���Ǥ���
.TP 3
thread
���ߤΥ���åɤˤ��륹��åɤ����򤷤ޤ���¿����\f3jdb\fP���ޥ�ɤϡ����ߤΥ���åɤ�����˴�Ť��Ƽ¹Ԥ���ޤ�������åɤϡ�\f2threads\fP���ޥ�ɤ�������������åɡ�����ǥå����ȤȤ�˻��ꤷ�ޤ���
.TP 3
where
�������ꤷ�ʤ���\f2where\fP��¹Ԥ���ȡ����ߤΥ���åɤΥ����å�������פ���ޤ���\f2where all\fP���ޥ�ɤϡ����ߤΥ���åɡ����롼�פˤ��륹��åɤΥ����å��򤹤٤ƥ���פ��ޤ���\f2where\fP \f2threadindex\fP�ϡ����ꤵ�줿����åɤΥ����å������פ��ޤ���
.br
.br
���ߤΥ���åɤ�(�֥졼���ݥ���Ȥ�\f2suspend\fP���ޥ�ɤˤ�ä�)���Ǥ��Ƥ�����ϡ��?�����ѿ��ȥե�����ɤ�\f2print\fP���ޥ�ɤ�\f2dump\fP���ޥ�ɤ�ɽ���Ǥ��ޤ���\f2up\fP���ޥ�ɤ�\f2down\fP���ޥ�ɤǡ��ɤΥ����å����ե졼��򥫥��Ȥˤ��뤫�����֤��Ȥ��Ǥ��ޤ���
.RE
.LP
.SS
�֥졼���ݥ����
.LP
.LP
�֥졼���ݥ���Ȥϡ����ֹ�ޤ��ϥ᥽�åɤκǽ��̿���\f3jdb\fP������Ǥ��ޤ���������򼨤��ޤ���
.LP
.RS 3
.TP 2
o
\f2stop at MyClass:22\fP \f2(MyClass���ޤޤ�륽�������ե������22���ܤκǽ��̿��˥֥졼���ݥ���Ȥ�����)\fP
.TP 2
o
\f2stop in java.lang.String.length\fP \f2(\fP\f2java.lang.String.length\fP�᥽�åɤκǽ�˥֥졼���ݥ���Ȥ�����)
.TP 2
o
\f2stop in MyClass.<init>\fP \f2(<init>��MyClass���󥹥ȥ饯������)\fP
.TP 2
o
\f2stop in MyClass.<clinit>\fP \f2(<clinit>��MyClass����Ū�����ɤ���)\fP
.RE
.LP
.LP
�᥽�åɤ������С��?�ɤ���Ƥ�����ˤϡ��᥽�åɤΰ���η�����ꤷ�ơ��֥졼���ݥ���Ȥ��Ф���Ŭ�ڤʥ᥽�åɤ����򤵤��褦�ˤ���ɬ�פ�����ޤ������Ȥ��С���\f2MyClass.myMethod(int,java.lang.String)\fP�פޤ��ϡ�\f2MyClass.myMethod()\fP�פȻ��ꤷ�ޤ���
.LP
.LP
\f2clear\fP���ޥ�ɤϡ���\f2clear\ MyClass:45\fP�פΤ褦�ʹ�ʸ����Ѥ��ƥ֥졼���ݥ���Ȥ���ޤ���\f2clear\fP����Ѥ��뤫���������ꤷ�ʤ��ǥ��ޥ�ɤ���Ѥ���ȡ��������ꤵ��Ƥ��뤹�٤ƤΥ֥졼���ݥ���Ȥ�ɽ������ޤ���\f2cont\fP���ޥ�ɤϼ¹Ԥ��³���ޤ���
.LP
.SS
���ƥå׼¹�
.LP
.LP
\f2step\fP���ޥ�ɤϡ����ߤΥ����å����ե졼��ޤ��ϸƤӽФ��줿�᥽�å���ǡ����ιԤ�¹Ԥ��ޤ���\f2next\fP���ޥ�ɤϡ����ߤΥ����å����ե졼��μ��ιԤ�¹Ԥ��ޤ���
.LP
.SS
�㳰
.LP
.LP
���?���Ƥ��륹��åɤθƽФ������å���Τɤ��ˤ�catchʸ���ʤ������㳰��ȯ������ȡ�VM���̾�㳰�ȥ졼������Ϥ��ƽ�λ���ޤ�����������\f3jdb\fP�Ķ��Ǽ¹Ԥ��Ƥ�����ϡ���ȿ�Υ��?����\f3jdb\fP�����椬���ޤ������ˡ�\f3jdb\fP����Ѥ����㳰�θ������Ǥ��ޤ���
.LP
.LP
���Ȥ��С���\f2catch java.io.FileNotFoundException\fP�פޤ��ϡ�\f2catch mypackage.BigTroubleException\fP�פΤ褦��\f2catch\fP���ޥ�ɤ���Ѥ���ȡ��ǥХå����줿���ץꥱ�������ϡ�¾���㳰�����?���줿�Ȥ�����ߤ��ޤ����㳰������Υ��饹(�ޤ��ϥ��֥��饹)�Υ��󥹥��󥹤ξ��ϡ����ץꥱ���������㳰�����?���줿������ߤ��ޤ���
.LP
.LP
\f2ignore\fP���ޥ�ɤ���Ѥ���ȡ�������\f2catch\fP���ޥ�ɤθ�̤�̵��ˤʤ�ޤ���
.LP
.LP
\f2���: \fP\f2ignore\fP���ޥ�ɤǤϡ��ǥХå������VM���㳰��̵�뤻�����ǥХå��Τߤ��㳰��̵�뤷�ޤ���
.LP
.SH "���ޥ�ɥ饤�󡦥��ץ����"
.LP
.LP
���ޥ�ɥ饤���Java���ץꥱ�������ư�ġ���Τ�����\f3jdb\fP����Ѥ����硢\f3jdb\fP�ϡ�\f2\-D\fP��\f2\-classpath\fP��\f2\-X<option>\fP�ʤɡ�java���ޥ�ɤ�Ʊ�����Υ��ץ������������ޤ���
.LP
.LP
\f3jdb\fP�ϡ�����¾�˼��Υ��ץ������������ޤ���
.LP
.RS 3
.TP 3
\-help
�إ�ס���å�������ɽ�����ޤ���
.TP 3
\-sourcepath <dir1:dir2:...>
���ꤵ�줿�ѥ�����Ѥ��ơ����������ե�����򸡺����ޤ������Υ��ץ���󤬻��ꤵ��Ƥ��ʤ����ϡ��ǥե���ȡ��ѥ��Ρ�.�פ����Ѥ���ޤ���
.TP 3
\-attach <address>
�ǥե���Ȥ���³��������Ѥ��ơ����Ǥ˼¹����VM�˥ǥХå�����³���ޤ���
.TP 3
\-listen <address>
�¹����VM��ɸ��Υ��ͥ�������Ѥ��ƻ��ꤵ�줿���ɥ쥹����³����Τ��Ե����ޤ���
.TP 3
\-listenany
�¹����VM��ɸ��Υ��ͥ�������Ѥ������Ѳ�ǽ��Ǥ�դΥ��ɥ쥹����³����Τ��Ե����ޤ���
.TP 3
\-launch
�ǥХå����륢�ץꥱ��������jdb�ε�ư�夿�����˵�ư���ޤ������Υ��ץ����ˤ�äơ�\f2run\fP���ޥ�ɤ���Ѥ���ɬ�פ��ʤ��ʤ�ޤ����ǥХå����륢�ץꥱ�������ϡ���ư�塢���ץꥱ������󡦥��饹���?�ɤ����ľ������ߤ��ޤ������λ����ǡ�ɬ�פʥ֥졼���ݥ���Ȥ����ꤷ��\f2cont\fP����Ѥ��Ƽ¹Ԥ��³�Ǥ��ޤ���
.TP 3
\-listconnectors
����VM�����ѤǤ��륳�ͥ��������ɽ�����ޤ���
.TP 3
\-connect <connector\-name>:<name1>=<value1>,...
����ɽ�����줿������ͤȻ���Υ��ͥ�������Ѥ��ƥ������å�VM����³���ޤ���
.TP 3
\-dbgtrace [flags]
jdb�ΥǥХå��������Ϥ��ޤ���
.TP 3
\-tclient
Java HotSpot(tm) VM(���饤�����)��ǥ��ץꥱ��������¹Ԥ��ޤ���
.TP 3
\-tserver
Java HotSpot(tm) VM(�����С�)��ǥ��ץꥱ��������¹Ԥ��ޤ���
.TP 3
\-Joption
jdb�μ¹Ԥ˻��Ѥ����Java���ۥޥ����\f2option\fP���Ϥ��ޤ���(���ץꥱ�������Java���ۥޥ�����Ф��륪�ץ����ϡ�\f3run\fP���ޥ�ɤ��Ϥ����)�����Ȥ��С�\f3\-J\-Xms48m\fP�Ȼ��ꤹ��ȡ��������ȥ��åס����꡼��48M�Х��Ȥ����ꤵ��ޤ���
.RE
.LP
.LP
�ǥХå��ȥǥХå���Ԥ�VM����³���뤿������ص������Ф��ơ�����¾�Υ��ץ���󤬥��ݡ��Ȥ���Ƥ��ޤ�������¾����³���ץ����ˤĤ��Ƥϡ�Java Platform Debugger Architecture��
.na
\f2�ɥ������\fP @
.fi
http://download.oracle.com/javase/7/docs/technotes/guides/jpda/conninv.html�򻲾Ȥ��Ƥ���������
.LP
.SS
�ǥХå��оݤΥץ?����ž������륪�ץ����
.LP
.RS 3
.TP 3
\-v \-verbose[:class|gc|jni]
��Ĺ�⡼�ɤˤ��ޤ���
.TP 3
\-D<name>=<value>
�����ƥࡦ�ץ�ѥƥ������ꤷ�ޤ���
.TP 3
\-classpath <directories separated by ":">
���饹�򸡺�����ǥ��쥯�ȥ�����ɽ�����ޤ���
.TP 3
\-X<option>
��ɸ�ॿ�����å�VM���ץ����Ǥ���
.RE
.LP
.SH "��Ϣ����"
.LP
.LP
javac(1)��java(1)��javah(1)��javap(1)��javadoc(1)
.LP