jdb.1 revision 4033
0N/A." Copyright (c) 1995, 2010, Oracle and/or its affiliates. All rights reserved.
2362N/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.
2362N/A."
0N/A." This code is distributed in the hope that it will be useful, but WITHOUT
2362N/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.
2362N/A."
2362N/A.TH jdb 1 "14 Apr 2011"
2362N/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
2157N/A.fl
2157N/A\fP\f3jdb\fP [ options ] [ class ] [ arguments ]
0N/A.fl
0N/A.fi
0N/A
.LP
.RS 3
.TP 3
options
���˼������ޥ�ɹԥ��ץ����
.TP 3
class
�ǥХå��򳫻Ϥ��륯�饹��̾��
.TP 3
arguments
class �� \f2main()\fP �᥽�åɤ��Ϥ� \f2���\fP
.RE
.LP
.SH " ����"
.LP
.LP
Java �ǥХå� \f3jdb\fP �ϡ�Java ���饹�Ѥδ�ñ�ʥ��ޥ�ɹԥǥХå��Ǥ���
.na
\f2Java Platform Debugger Architecture\fP @
.fi
http://java.sun.com/javase/6/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://java.sun.com/javase/6/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 ���ޥ�ɤ������򻲾Ȥ��Ƥ���������
.LP
\f2��: �ɽ��ѿ���ɽ������ˤϡ������ѿ���ޤ९�饹�� \fP\f2javac(1)\fP\f2 \fP\f2\-g\fP ���ץ����ǥ���ѥ��뤵��Ƥ���ɬ�פ�����ޤ���
.LP
\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 (i��j������� k �ϥץ�ߥƥ��֤Ǥ��ꡢ�ե�����ɤޤ��϶ɽ��ѿ��Τ����줫)
.TP 2
o
\f2print myObj.myMethod()\fP (myMethod �� null �ʳ����֤����)
.TP 2
o
\f2print new java.lang.String("Hello").length()\fP
.RE
.TP 3
dump
�ץ�ߥƥ����ͤξ��ˤϡ����Υ��ޥ�ɤ� \f2print\fP ��Ʊ���Ǥ������֥������Ȥξ��ˤϡ����֥�����������������Ƥ���ƥե�����ɤθ��ߤ��ͤ����Ϥ���ޤ���static �ե�����ɤ� instance �ե�����ɤ����Ϥ���ޤ���
.LP
\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
\f2�������ꤷ�ʤ���\fP where ��¹Ԥ���ȡ����ߤΥ���åɤΥ����å�������פ���ޤ��� \f2where all\fP ���ޥ�ɤϡ����ߤΥ���åɥ��롼�פˤ��륹��åɤΥ����å��򤹤٤ƥ���פ��ޤ��� \f2where\fP \f2threadindex\fP �ϡ����ꤵ�줿����åɤΥ����å������פ��ޤ���
.LP
���ߤΥ���åɤ� (�֥졼���ݥ���Ȥ� \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 (MyClass ���ޤޤ�륽�����ե������ 22 ���ܤκǽ��̿��˥֥졼���ݥ���Ȥ�����)
.TP 2
o
\f2stop in java.lang.String.length\fP (\f2java.lang.String.length\fP �᥽�åɤκǽ�˥֥졼���ݥ���Ȥ�����)
.TP 2
o
\f2stop in MyClass.<init>\fP (<init> �� MyClass ���󥹥ȥ饯������)
.TP 2
o
\f2stop in MyClass.<clinit>\fP (<clinit> �� MyClass ����Ū�����ɤ���)
.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://java.sun.com/javase/6/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