Sun Microsystems Documentation

Oracle Solaris Studio 12.2 dbxtool �e塼�ȥꥢ��

���Υe塼�ȥꥢ��Ǥϡ��Х���ޤ�%ץ?��������Ѥ��ơ�dbx �ǥХå��Ѥ���Ω����ե�����桼�������󥿥ե����� (GUI) �Ǥ��� dbxtool �θ��Ū�ʻ�����ˡ�ˤĤ������$��ޤ����ǽ�˴���Ū�ʵ�ǽ�ˤĤ������$������θ塢���ܺ٤ʵ�ǽ�ˤĤ������$��Ƥ����ޤ���

����

���Υe塼�ȥꥢ��Ǥϡ��֥Х���ޤ�!ץץ?��������Ѥ��ơ�dbx �ǥХå��ѤΥ�����ɥ���󥰥�ե�����桼�������󥿥ե����� (GUI) �Ǥ��� dbxtool �θ��Ū�ʻ�����ˡ�ˤĤ������$��ޤ����ǽ�˴���Ū�ʵ�ǽ�ˤĤ������$������θ塢���ܺ٤ʵ�ǽ�ˤĤ������$��Ƥ����ޤ���

�ץ?�����

���Υe塼�ȥꥢ��Ǥϡ�dbx �ǥХå���ñ��ǡ���䵼��Ū�ʥ��ߥ�졼��������Ѥ��ޤ����ޤ���C++ �ǽ񤫤줿���Υץ?���Υ����������ɤ򡢥��󥹥ȡ��뤵�줿 Oracle Solaris Studio 12.2 ���եȥ������� examples/debugger/debug_tutorial �ǥ��쥯�ȥ꤫�����ꤷ�ޤ���

  1. �ǥ��쥯�ȥ�򡢥桼�������Ѥκ���ΰ�˥��ԡ����ޤ���������򼨤��ޤ���

    cp -r /opt/solstudio12.2/examples/debugger/debug_tutorial ~/debug_tutorial
  2. �ץ?�����ۤ��ޤ���

    make
    CC -g   -c  main.cc
    CC -g   -c  interp.cc
    CC -g   -c  cmd.cc
    CC -g   -c  debugger.cc
    CC -g   -c  cmds.cc
    CC -g   main.o interp.o cmd.o debugger.o cmds.o -o a.out

�ץ?���ϼ��Υ⥸�塼�뤫�鹽.����ޤ���

cmd.h

cmd.cc

Cmd ���饹���ǥХå����ޥ�ɤ����뤿��Υ١���

interp.h

interp.cc

Interp ���饹����ñ�ʥ��ޥ�ɥ��󥿥ץ꥿

debugger.h

debugger.cc

Debugger ���饹���ǥХå��μ��פʥ��ޥ�ƥ�����������

cmds.h

cmds.cc

���ޤ��ޤʥǥХå����ޥ�ɤμ���

main.h

main.cc

main() �ؿ�ȥ��顼����Interp �򥻥åȥ��åפ������ޤ��ޤʥ��ޥ�ɤ��.���ơ������Υ��ޥ�ɤ� Interp �˳����Ƥޤ���Interp ��¹Ԥ��ޤ���

�ץ?����¹Ԥ��ơ�dbx ���ޥ�ɤ򤤤��Ĥ���ޤ���

$ a.out
> exec date
Sun Jun 21 16:13:06 PDT 2009
> display var
will display 'var'
> stop in X
> run running ...
stopped in X
var = {
        a = '100'
        b = '101'
        c = '<error>'
        d = '102'
        e = '103'
        f = '104'
}
> quit
Goodby
$

dbxtool ������

���Τ褦�����Ϥ��ơ�dbxtool ��ư���ޤ���

installation_directory/bin/dbxtool

�ǽ�� dbxtool ��ư�����Ȥ��ˡ�������ɥ��ϼ��Τ褦��ɽ������ޤ���

dbxtool ������ɥ�

���Υe塼�ȥꥢ��� Web �֥饦���ǻ��Ȥ��Ƥ�����ϡ������餯����$��Dz��̤�Ⱦʬ�����Ѥ����Τǡ�dbxtool �Υ��ץꥱ�������Υ���������̤�Ⱦʬ�ˤʤ�褦�˥������ޥ������������Ǥ���

���ˡ�dbxtool �Τ��ޤ��ޤʥ������ޥ�����򼨤��ޤ���

�����%�פο���

���Ѿ�˹礦�褦�� dbxtool �����ꤷ�ޤ��������ˡ��Х��򤤤��Ĥ����Ĥ��Ƥߤޤ��礦��

�ץ?������⤦���ټ¹Ԥ��ޤ������$�������ϥ��ޥ�ɤ����Ϥ��ʤ��Dz��ԥ����򲡤��ޤ���

$ a.out
> display var
will display 'var'
> 
Segmentation Fault (core dumped)
$

�����ǡ��¹Բ�ǽ�ե����뤪��ӥ����ե��������ꤷ�� dbxtool ��ư���ޤ���

$ dbxtool a.out core

�ҥ�� - dbxtool ���ޥ�ɤ� dbx ���ޥ�ɤ�Ʊ�����������Ƥ��뤳�Ȥ����ܤ��Ƥ��$�����


dbxtool �ϡ����Τ褦�����Ƥ�ɽ�����ޤ���

dbx ���󥽡��륦����ɥ������ strcmp �ؤθƤӽФ�����ɽ������ dbxtool ������ɥ�

�����Ǥ����Ĥ�����ջ���󤲤ޤ���

�ؿ�ϡ��ѥ�᡼���Ȥ�����5���ͤ��Ϥ��������̾Z�Ԥ��ޤ��������ˡ�strcmp() ���Ϥ��줿�ͤ��ǧ���뤿��Τ����Ĥ�����ˡ������ޤ���

�����ǡ�name ���ͤ� NULL �Ǥ���٤��ǤϤʤ����Ȥ���������Ǥ������������ɤΥ����ɤ�������5���ͤ� Interp::find() ���Ϥ����ΤǤ��礦���������Ĵ�٤�ˤϡ���������Ԥ��ޤ���

���Υ����ɤ�̤�ΤǤ����ޤ������������$��Ǥϡ�argv[0] ���ͤ� NULL �Ǥ��뤳�Ȱʳ��Ϥ狼��ޤ���

�֥졼���ݥ���Ȥ���ӥ��ƥå�ư�����Ѥ��ơ����������ưŪ�˥ǥХå�������褤��礬����ޤ���

�֥졼���ݥ���Ȥȥ��ƥå�ư��λ���ˡ

�֥졼���ݥ���Ȥˤ�ꡢ�Х��򼨤�����p�ǥץ?������ߤ����ꡢ�����ְ�äƤ��뤫�򸡽Ф��뤿��˥����ɤ򥹥ƥåץ��롼���뤳�Ȥ��Ǥ��ޤ���

�֥ץ?�������� (Process I/O)�ץ�����ɥ��ι��Τ�ޤ2��Ƥ��ʤ���С����Υ����ߥ󥰤ǹԤ��Ȥ褤�Ǥ��礦��

��p�Ϥ��Υץ?���򥳥ޥ�ɹԤ���¹Ԥ��ޤ����������ǡ�dbxtool �ǥץ?����¹Ԥ��ơ��Х���Ƹ����ޤ���

  1. �ġ���С��ǡּ¹� (Run)�ץܥ��� �ּ¹� (Run)�ץܥ����򥯥�å����뤫����Dbx ���󥽡��� (Dbx Console)�ץ�����ɥ��� run �����Ϥ��ޤ���

  2. �֥ץ?�������� (Process I/O)�ץ�����ɥ��Dz��Ԏ����򲡤��ޤ������ΤȤ����ٹ�ܥå����� SEGV �ˤĤ����Τ餻�ޤ���

    SEG ��ɽ������֥����ʥ���� (Signal Caught)�׷ٹ�ܥå���
  3. �ٹ�ܥå����ǡ����˴����ư����� (Discard and Pause)�פ򥯥�å����ޤ������ǥ��� (Editor) ������ɥ��ǡ�Interp::find() �� strcmp() �ؤθƤӽФ������ٶ�Ĵɽ������ޤ���

  4. �ġ���С��ΡָƤӽФ����򸽺ߤ����� (Make Caller Current)�ץܥ��� �ָƤӽФ����򸽺ߤ����� (Make Caller Current)�ץܥ����򥯥�å����ơ�Interp::dispatch() �˰�p��ɽ�����줿���$ʥ����ɤ˰�ư���ޤ��������ǡ�find() �ؤθƤӽФ��ξ���p�˥֥졼���ݥ���Ȥ�����Ǥ��ޤ�����ǡ��ְ�äƤ�����ͳ��Ĵ�٤뤿�ᡢ�����ɤ򥹥ƥåץ��롼�Ǥ��ޤ���

�֥졼���ݥ���Ȥ����ꤹ��

�֥졼���ݥ���Ȥ����ꤹ��ˤϡ������Ĥ�����ˡ������ޤ������ֹ椬ɽ������Ƥ��ʤ���С��ǽ�˺��ޡ�������򱦥���å������ֹ��ֹ��ɽ�� (Show Line Numbers)�ץe��å��ܥå����򥪥�ˤ��ơ����ǥ����ǹ��ֹ��ͭ��ˤ��ޤ���

���ߤϡ����ǥ������𻨤ˤʤäƤ��ޤ���

�𻨤ʎ����ǥ��� (Editor)��������ɥ�

�֥֥졼���ݥ���� (Breakpoints)�ץ�����ɥ�����Ѥ��ơ������𻨤��򥯥꡼�󥢥åפǤ��ޤ���

  1. �֥֥졼���ݥ���� (Breakpoints)�ץ��֤򥯥�å����ޤ� �ʤޤ���p�˺Ǿ������Ƥ�����Ϻ��粽���ޤ�)��

  2. �ԥ֥졼���ݥ���Ȥ���Ӵؿ�֥졼���ݥ���Ȥ� 1 �Ĥ�j�򤷤ơ�������å����ơֺ�� (Delete)�פ�j�򤷤ޤ���

�ؿ�֥졼���ݥ���Ȥ�����

���ǥ������ڤ��ؤ��ơ��ԥ֥졼���ݥ���Ȥ����ꤹ�뤳�Ȥ�ľ��Ū�Ǥ����礬����ޤ������$���¿���� dbx �桼�����ϡ�������ͳ�Ǵؿ�֥졼���ݥ���Ȥ���򹥤ߤޤ���

�����åeݥ���Ȥȥ��ƥå�ư��λ���ˡ

�������äơ����ߡ�Interp::dispatch() ��ñ��Υ֥졼���ݥ���Ȥ�����ޤ����դ����ӡּ¹� (Run)�� �ּ¹� (Run)�ץܥ����򥯥�å������֥ץ?�������� (Process I/O)�ץ�����ɥ��β��ԥ����򲡤��ȡ��ץ?���ϼ¹Բ�ǽ�����ɤ�ޤ� dispatch() �ؿ�κǽ�ιԤ���ߤ��ޤ���

122 ���ܤǼ¹Ԥ���ߤ����֥��ǥ��� (Editor)�ץ�����ɥ�

culprit �� find() ���Ϥ���Ƥ��� argv[0] �Ǥ��뤳�Ȥ����Ǥˤ狼�äƤ��뤿�ᡢ�����åeݥ���Ȥ���Ѥ��� argv ��ƻ뤷�ޤ���

  1. �֥��ǥ��� (Editor)�ץ�����ɥ��� argv �Υ��󥹥��󥹤�j�򤷤ޤ���

  2. �֥ǥХå� (Debug)�� > �ֿ��������åeݥ���� ��New Watch�ˡפ�j�򤹤뤫���ޤ��ϱ�����å����ơֿ��������åeݥ���� ��New Watch�ˡפ�j�򤷤ޤ����ֿ��������åeݥ���� ��New Watch�ˡץ%����?�ܥå�����j�򤷤��ƥ����Ȥ�ɽ������ޤ���

    �ֿ��������åeݥ���� ��New Watch�ˡץ%����?�ܥå���
  3. ��OK�פ򥯥�å����ޤ���

  4. �֥�����ɥ� ��Window�ˡ� > �֥����åeݥ���� ��Watches�ˡפ�j�򤷤ơ��֥����åeݥ���� ��Watches�ˡץ�����ɥ��򳫤��ޤ���

  5. argv ��Ÿ�����ޤ���

    argv ��Ÿ�����줿�֥����åeݥ���� ��Watches�ˡץ�����ɥ�

    ���Υ��١����Ϥ��ä������Ǥ��礦��argv ������Ƥ��餺���?�����ѿ�Ǥ��뤿�ᡢp�θƤӽФ����饹���å���˻ĤäƤ�����%���ͤ�ַѾ��פ��Ƥ��뤳�Ȥ���դ��Ƥ��$��������������θ���Ǥ��礦��������ꤻ���˷���Ū�˿ʤ�ޤ��礦��

  6. �֥��ƥåץ����С� (Step Over)�� �֥��ƥåץ����С� (Step Over)�ץܥ����� 2 ���п��� PC ����� int argc = 0; �򼨤��ޤǥ���å����ޤ���

  7. argc �� argv �κ��Ǥ��뤳�Ȥ�����Ǥ��뤿�ᡢƱ�ͤˤ������դ��ơ����Υ����åeݥ���Ȥ��.���ޤ����ޤ������Ͻ���Ƥ��餺�����١����ͤ��ޤޤ�Ƥ����ǽ-�⤢��Τ���դ��Ƥ��$�����

  8. argc �ä˥����åeݥ���Ȥ��.�������ᡢ�֥����åeݥ���� ��Watches�ˡץ�����ɥ��� argv ����ɽ������ޤ���������ɥ��κǽ�ιԤ�ɽ�����������ꤢ��ޤ��󡣥����åeݥ���Ȥ���ơ���˾�ν��Ǻ����ϤǤ��ޤ������$������ξ�硢���Ѳ�ǽ�ʥ����å��ȥ�å�������ޤ�����̾p ��Name�ˡ���إå!��򥯥�å�����ȡ��󤬥����Ȥ���ޤ������Τ褦�����Ƥ����$����ޤǥ���å����ޤ� (�����ȥȥ饤���󥰥�����)��

    �����åeݥ���Ȥ������Ȥ��줿�֥����åeݥ���� (Watches)�ץ�����ɥ�
  9. �֥��ƥåץ����С� (Step Over)�� �֥��ƥåץ����С� (Step Over)�ץܥ����򥯥�å����ޤ���argc �������ν��줿�ͤ� 0 ��ɤΤ褦��ɽ�����뤫���ܤ��Ƥ��$������;�ϡ��ͤ��d礦���ѹ����줿���Ȥ򼨤��Ƥ��ޤ���

    argc �ͤ��;��ɽ�����줿�֥����åeݥ���� ��Watches�ˡץ�����ɥ�
  10. ���ץꥱ������� strtok() ��ƤӽФ��ޤ����֥��ƥåץ����С� (Step Over)�פ򥯥�å����ơ��ؿ�򥹥ƥåץ����С��������Ȥ��С��Х롼�󼰤���Ѥ��ơ��ȡ����� NULL �Ǥ��뤳�Ȥ�ƻ뤷�ޤ���


    �ҥ�� - strtok() �ϲ���Ԥ��ޤ�����strtok (3) �ޥ˥奢��ڡ����򻲾ȤǤ��ޤ�������ñ�˸$��С�DELIMETERS/ �� 1 �Ĥˤ�äƶ��ڤ�줿�ȡ������ line �ʤɤ�ʸ�����ʬ�䤹��Τ���Ω�dޤ���


  11. �֥��ƥåץ����С� ��Step Over�ˡפ�⤦���٥���å�����ȡ�argv �˥ȡ����������ơ����˥롼�פ� strtok() �ؤθƤӽФ�������ޤ������ƥåץ����С�����ˤĤ�ơ��롼�פˤ����餺�� (����ʾ�ȡ����󤬤ʤ�)���դ� NULL �������Ƥ��ޤ������γ����Ƥ⥹�ƥåץ����С�����ȡ����Ф��뤿��θƤӽФ��Τ������ͤȤʤ�ޤ����ꥳ���뤹���硢����ϥץ?��ब����å��夷�����Ǥ���

  12. find() �˸ƤӽФ��򥹥ƥåץ����С����뤳�Ȥˤ�äơ��ץ?��ब�����ǥ���å��夹�뤳�Ȥ�%֥�e��å����ޤ����ºݤˤϡ��֥����ʥ���� ��Signal Caught�ˡ׷ٹ�ܥå������դ�����ɽ������ޤ���

    �֥����ʥ���� ��Signal Caught�ˡ׷ٹ�ܥå���

    ��p�Τ褦�ˡ��˴����ư����� ��Discard and Pause�ˡפ򥯥�å����ޤ���

  13. �������äơ�Interp::dispatch ����ߤ�����ǡ�find() �ؤκǽ�θƤӽФ��ϡ��ºݤ���5�ʾ��Ǥ���

    ���������Ǥ��ä����⤷��ޤ��󤬡����פ��$ϡ����ξ��ˤ��Ф䤯���뤳�Ȥ򼨤����ȤǤ��������ǡ���ˡ�����$��ޤ��礦��

    1. �ָƤӽФ����򸽺ߤ����� (Make Caller Current)�� �ָƤӽФ����򸽺ߤ����� (Make Caller Current)�ץܥ����򥯥�å����ޤ���

    2. find() �θƤӽФ������Ȥǹԥ֥졼���ݥ���Ȥ��ڤ��ؤ��ޤ���

    3. �֥֥졼���ݥ���� (Breakpoints)�ץ�����ɥ��򳫤��ơ�Interp::dispatch () �ؿ�֥졼���ݥ���Ȥ�̵��ˤ��ޤ���

      dbxtool �ϡ����Τ褦�˸�����Ϥ��Ǥ���

      1 �Ĥ�̵��ˤ���2 �ĤΥ֥졼���ݥ���Ȥ򼨤������ǥ��� ��Editor�ˎ�������ɥ�
    4. �����ϡ�2 �ĥ֥졼���ݥ���Ȥ� 141 �Ԥ����ꤵ�졢������ 1 �Ĥ�̵��Ǥ��뤳�Ȥ򼨤��Ƥ��ޤ���

  14. �ּ¹� ��Run�ˡ� �ּ¹� (Run)�ץܥ��� �򥯥�å����ơ֥ץ?�������� ��Process I/O�ˡץ�����ɥ��β��ԥ����򲡤��ȡ��ץ?��ब find() �ؤθƤӽФ���p����äƽ�λ���ޤ���(�ּ¹� ��Run�ˡץܥ��󤬤����˺Ƶ�ư���뤫����դ��Ƥ��$������ǥХå����ˤϡ���������ˤ˺Ƶ�ư���ޤ���)


    �ҥ�� - ���Ȥ��С��ץ?����ƹ��ۤ����硢�Х��򸡽Ф��ƽ�5������ǡ�dbxtool ��λ���ơ��Ƶ�ư����ɬ�פϤ���ޤ��󡣡ּ¹� ��Run�ˡץܥ���򥯥�å�����ȡ�dbx ���ץ?��� (�ޤ��Ϥ��ι�.����) ���ƥ���ѥ��뤵��Ƥ��뤳�Ȥ򸡽Ф����ƥ?�ɤ��ޤ���

    �������äơ��ǥХå��˴ؤ�������ǻ��Ѥ��䤹���褦�ˡ��ǥ����ȥå׾�ǡ������餯�Ǿ������� dbxtool ���ñ���ݻ��Τ�����ΨŪ�Ǥ���


  15. ����ǤϥХ��Ϥɤ��Ǥ������դ����ӥ����åeݥ���Ȥ�ߤƤߤޤ��礦��

    �֥����åeݥ���� ��Watches�ˡץ�����ɥ�

    �����ǡ��ǽ�� strtok() �ظƤӽФ��� NULL ���֤����Ĥޤ�Ԥ���Ǥ���ȡ�������äƤ��ʤ��ä����ᡢargv[0] �� NULL �Ǥ��뤹�Ф餷��ľ��Ū�ʥ꡼�פ��.�Ǥ��ޤ���


    �ҥ�� - ���Υe塼�ȥꥢ��λĤ�˿ʤ�p�ˡ����ΥХ���5�Ǥ��ޤ�����

    �Ǥ��ޤ����ޤ������ԥ����򲡤����ˡ���ιԤ��.���ʤ����Ȥ�j��Ǥ��ޤ���

    �ޤ��ϡ���ˡ��ǥХå����ǥץ?����¹Ԥ��Ƥ����硢�֥֥졼���ݥ���ȥ�����ץȤ���Ѥ��ƥ����ɤ˥ѥåd�Ŭ�Ѥ���� �����$����褦�ˡ��ǥХå��ǡ֥ѥåd�Ŭ�ѡפ��뤳�Ȥ��Ǥ��ޤ���


��������γ�ȯ�Ԥϡ����ξ����Ф��Ƥ����餯�ƥ��Ȥ���Interp::dispatch() �λĤ���ά���Ƥ���Ϥ��Ǥ���

�ǥ������å����

�嵭����Ǥϡ�Ĵ�Ҥ������ʤ�p�λ��$Ǹ�ư��Ƥ���ץ?������ߤ��������ɤ��ºݤ�ư��Ƥ�����ˡ�ǥ����ɤΰտޤ���Ӥ��ƥ����ɤ򥹥ƥåץ��롼����Ǥ����Ū�ʥǥХå��ѥ�����򼨤��Ƥ��ޤ���

�����륹�ƥå�ư��ȴƻ�ʤ��ǡ����ľ��Ū�˥Х��򸡽Ф��뤳�Ȥ��Ǥ��Ƥ��ޤ��������ºݤϤǤ��Ƥ��ޤ��������ǽ�˥֥졼���ݥ���Ȥ���Ѥ��뤿��ε��Ѥ��äȳؽ�����ɬ�פ�����Ǥ��礦��

���٤ʥ֥졼���ݥ���ȵ��Ѥλ���ˡ

������Ǥϡ��֥졼���ݥ���Ȥ���Ѥ��뤿��Τ����Ĥ��ι��٤ʵ��ѤˤĤ������$��ޤ���

�����ᡢ����ӥץ?�����ϡ������ǾҲ𤹤���Ȥۤ�Ʊ����Τ���Ѥ��� dbx �Ǽºݤ˸��Ф��줿�Х����ˤ��Ƥ��ޤ���

�����������ɤˤ� in �Ȥ�������ץ����ϥե����뤬�ޤޤ�Ƥ��ꡢ�����Ȥ��ץ?�����ǥХ���ȯ8�����ޤ���in �����Ƥϼ��ΤȤ���Ǥ���

display nonexistent_var    # should yield an error
display var
stop in X    # will cause one "stopped" message and display
stop in Y    # will cause second "stopped" message and display
run
cont
cont
run
cont
cont

p����Ǹ��Ф�����Τ�Ʊ���Х����ФƤ��ޤ�ʤ��褦�ˡ������Ǥ϶�ιԤ��Ƥ���ޤ���

�������ϥե�����ǥץ?����¹Ԥ���ȡ����Ϥϼ��Τ褦�ˤʤ�ޤ���

$ a.out < in
> display nonexistent_var 
error: Don't know about 'nonexistent_var'
> display var 
will display 'var'
> stop in X 
> stop in Y 
> run 
running ...
stopped in X
var = {
      a = '100'
      b = '101
      c = '<error>'
      d = '102
      e = '103'
      f = '104'
      }
> cont 
stopped in Y
var = {
      a = '105'
      b = '106'
      c = '<error>'
      d = '107'
      e = '108'
      f = '109'
      }
> cont 
exited
> run 
running ...
stopped in X
var = {
      a = '110'
      b = '111'
error: cannot get value of 'var.c'
      c = '<error>'
      d = '112'
      e = '113'
      f = '114'
      }
> cont 
stopped in Y
var = {
      a = '115'
      b = '116'
error: cannot get value of 'var.c'
      c = '<error>'
      d = '117'
      e = '118'
      f = '119'
      }
> cont 
exited

Goodby

���ν��Ϥ򸫤ơ�¿���ʤȻפ��뤫�⤷��ޤ��󤬡�������Ǥϡ��ץ?��बĹ���ʣ���ʤ��ᥳ���ɤ� 1 �Ԥ��ĸ��Ƥ����פ��뤳�Ȥ�����ʾ��˻��Ѥ��٤���ˡ����⤹�뤳�Ȥ���ˤ��Ƥ��ޤ���

c �ե�����ɤ��ͤ�ɽ������ս�ǡ��ͤ� <error> �ˤʤäƤ��뤳�Ȥ����ܤ��Ƥ��$������ե�����ɤ���5�ʥ��ɥ쥹���ޤޤ�Ƥ���ȡ����Τ褦�ʾ��ȯ8���뤳�Ȥ�����ޤ���

����

�ץ?���� 2 �ټ¹Ԥ������ˡ��ǽ�μ¹Ի��˼��$��ʤ��ä��ɲäΥ��顼��å���������$��Ƥ��뤳�Ȥ����ܤ��Ƥ��$�����

error: cannot get value of 'var.c'

error() �ؿ�ϡ�����ξ�ˤ����륵�����ȥ��顼��å��������ѿ� err_silent ����Ѥ��ޤ������Ȥ��С����顼��å�������ɽ������ΤǤϤʤ���ɽ�����ޥ�ɤξ��ˡ����꤬ c = '<error>' �Ȥ���ɽ������ޤ���

���ƥå� 1: �Ƹ�-

�ǽ�Υ��ƥåפϡ��ǥХå��������åȤ򥻥åȥ��åפ����ּ¹� ��Run)�� �ּ¹� (Run)�ץܥ����򥯥�å����ƥХ����ñ�˷����֤����Ȥ��Ǥ���褦�����ꤹ�뤳�ȤǤ���

���Τ褦�˥ץ?���ΥǥХå��򳫻Ϥ��ޤ���

  1. �ץ?�����򥳥�ѥ��뤷�Ƥ��ʤ����ϡ��֥ץ?������ �����$˽��äƼ¹Ԥ��Ƥ��$�����

  2. �֥ǥХå� ��Debug�ˡ� > �ּ¹Բ�ǽ�ե������ǥХå����ޤ� ��Debug Executable�ˡפ�j�򤷤ޤ���

  3. �ּ¹Բ�ǽ�ե������ǥХå����ޤ� ��Debug Executable�ˡץ%����?�ܥå����ǡ��¹Բ�ǽ�ե�����ؤΥѥ��򻲾Ȥ��뤫�����Ϥ��ޤ���

  4. �ְ�� ��Arguments�ˡץե�����ɤǡ����Τ�Τ����Ϥ��ޤ���

    < in
  5. �¹Բ�ǽ�ե�����Υѥ��Υǥ��쥯�ȥ���ʬ��ּ¹ԥǥ��쥯�ȥ� ��Run Directory�ˡץե�����ɤ˥��ԡ���ڡ����Ȥ��ޤ���

  6. �֥ǥХå� ��Debug�ˡפ򥯥�å����ޤ���

    �ּ¹Բ�ǽ�ե������ǥХå����ޤ� ��Debug Executable�ˡץ%����?�ܥå���

���¤ξ�ǡ��ְ�� ��Arguments�ˡץե�����ɤޤ��ϡִĶ� (Environment)�ץե�����ɤ�Ʊ�ͤ����Ϥ�������礬����ޤ���

�֥ǥХå� ��Debug�ˡ� > �ָ��ߤΥ��å��������� (Configure Current Session)�פ�j�򤷤ơ�����Υץ�ѥƥ��򤹤٤��ѹ��Ǥ��ޤ���

�ץ?����ǥХå�����Ȥ��ˡ�dbxtool ���ǥХå��������åȤ��.���ޤ����֥ǥХå� ��Debug�ˡ� > �ֺǶ�Ԥʤä��ǥХå� ��Debug Recent)�פ�j�򤷡�������Ū�μ¹Բ�ǽ�ե������j�򤷤ơ����Ʊ���ǥХå��������ѤǤ��ޤ���

dbx ���ޥ�ɥ饤�󤫤餳���Υץ�ѥƥ���¿�������ꤹ�����ñ�ʾ�礬����ޤ��������ϥǥХå��������å�����˳�Ǽ����ޤ���

�������Ƥ�¿������Ū�ϡ����ޤ��ޤ���֥֥졼���ݥ���Ȥǡַ�³ ��Continue�ˡפ򥯥�å�����ɬ�פʤ����ּ¹� ��Run�ˡפ򥯥�å����뤳�Ȥˤ�äơ���̣�ξ��˾�˰�ư�Ǥ���褦�ˡ��֥졼���ݥ���Ȥ��ɲä���ˤĤ���ưפʺƸ�-��ݻ�뤳�ȤǤ���

���ƥå� 2:�ǽ�Υ֥졼���ݥ����

���顼��å���������Ϥ�����ˤϡ�error() �ؿ���˥֥졼���ݥ���Ȥ��֤��ޤ��礦�����Υ֥졼���ݥ���Ȥϡ�33 ���ܤιԥ֥졼���ݥ���ȤȤʤ�ޤ���

����礭�ʥץ?���Ǥϡ����Ȥ��С�dbx ���󥽡��� ��Dbx Console�ˡץ�����ɥ��ǡ����Τ褦�����Ϥ��ơ֥��ǥ��� ��Editor�ˡץ�����ɥ��θ��ߤδؿ���ñ���ѹ��Ǥ��ޤ���

(dbx) func error

��٥�!����ȥ饤�פˡ�func ���ޥ�ɤǸ��Ф��줿���פ�������ޤ���

  1. 33 ���ܤξ�Ρ֥��ǥ��� ��Editor�ˡץ�����ɥ��κ��ޡ�����򥯥�å����ơ��ԥ֥졼���ݥ���Ȥ��.���ޤ���

    31 ���ܤ˥�٥�!����ȥ饤�ס�33 ���ܤ˥֥졼���ݥ���Ȥ�ɽ�����줿�֥��ǥ��� ��Editor�ˡץ�����ɥ�
  2. �ּ¹� ��Run�ˡ� �ּ¹� (Run)�ץܥ��� �򥯥�å����ƥץ?����¹Ԥ����֥졼���ݥ���Ȥ�ҥåȤ���ȡ������å��ȥ졼����ɽ������ޤ��� in �ե�����Υ��ߥ�졼�Ȥ��줿���ޥ�ɤˤ�ä�ȯ�Ԥ���Ƥ��륨�顼��å�������ɽ������ޤ���

    > display var    # should yield an error

    error() �ؤθƤӽФ������ꤵ�줿ư��Ǥ���

    ���顼��å������ե졼�बɽ�����줿�ָƤӽФ������å� ��Call Stack�ˡץ�����ɥ�
  3. �ַ�³ ��Continue�ˡ� �ַ�³ ��Continue�ˡץܥ��� �򥯥�å����ƥץ?�����³�����դ����ӥ֥졼���ݥ���Ȥ�ҥåȤ��ޤ��������ͽ��ʤ����顼��å����������ޤ���

    ���顼��å������ե졼�बɽ�����줿�ָƤӽФ������å� ��Call Stack�ˡץ�����ɥ�

���ƥå� 3:�֥졼���ݥ���ȥ������

���ޥ�ɤˤ��֥졼���ݥ���Ȥκǽ�ΥҥåȤθ�ǡ��ַ�³ ��Continue�ˡפ򥯥�å�����ɬ�פʤ����¹Ԥ��Ȥ˷����֤��Ƥ��ξ������夹����褤�Ǥ��礦��

> display var # should yield an error

�ץ?���ޤ������ϥ�����ץȤ��Խ����ơ��ǽ������������ɽ�����ޥ�ɤ���Ǥ��ޤ������$�����Ȥ��Ƥ�����������Ͻ��ϡ����ΥХ���Ƹ����븰�Ȥʤ��ǽ-�����뤿�ᡢ����𤵤��ʤ��褦�ˤ��ޤ��礦��

���Υ֥졼���ݥ���Ȥ����夹�� 2 ���ܤ˶�̣�����뤿�ᡢ������Ȥ� 2 �����ꤷ�ޤ��礦��

  1. �֥֥졼���ݥ���� ��Breakpoints�ˡץ�����ɥ��ǡ��֥졼���ݥ���Ȥ򱦥���å����ơ��֥������ޥ��� ��Customize�ˡפ�j�򤷤ޤ���

  2. �֥֥졼���ݥ���Ȥ򥫥����ޥ��� ��Customize Breakpoint�ˡפǡ��֥����󥿤ξ���� ��Count Limit�ˡץե�����ɤˡ�2�פ����Ϥ��ޤ���

  3. ��OK�פ򥯥�å����ޤ���

    �֥֥졼���ݥ���Ȥ򥫥����ޥ��� ��Customize breakpoint�ˡץ%����?�ܥå���

����ǡ���̣�Τ�����˷����֤�����Ǥ��ޤ���

���ƥå� 4:�����֥졼���ݥ����

���ξ�硢������� 2 ��j�򤹤뤳�Ȥϴ�ñ�Ǥ���������������ߤ˶�̣�Τ�����ϲ��٤�ƤӽФ�����礬����ޤ�����ǡ�Ŭ�ڤʥ�������ͤ�ɤΤ褦�˴�ñ��j��Ǥ��뤫�狼��Ǥ��礦�����������ߡ���̣�Τ���ƤӽФ��ǤΤߡ�error() ����ߤ����̤���ˡ��Ĵ�����ޤ��礦��

error() ��Υ֥졼���ݥ���Ȥ�p�Τ褦�ˡ֥֥졼���ݥ���Ȥ򥫥����ޥ��� ��Customize Breakpoint�ˡפ򳫤��ơ��֥����󥿤ξ���� ��Count Limit�ˡפΥɥ�åץ%���ꥹ�Ȥ���־����� ��Always stop�ˡפ�j�򤷤ơ��֥졼���ݥ���ȥ�����Ȥ�̵��ˤ��ޤ���

�����ǡ��ּ¹� ��Run�ˡפ򥯥�å����ơ�error() �� 2 ����ߤ���Ȥ��ˡ������å��ȥ졼������դ�ʧ���ޤ���1 ���ܤϼ��Τ褦��ɽ������ޤ���

�ָƤӽФ������å� ��Call Stack�ˡץ�����ɥ�

2 ���ܤϼ��Τ褦��ɽ������ޤ���

�ָƤӽФ������å� ��Call Stack�ˡץ�����ɥ�

runProgram (�ե졼�� [7]) ����Ǹ�ȸƤФ��Ȥ��ˡ����Υ֥졼���ݥ���Ȥ���ߤ���褦��Ĵ0���ޤ��������Ԥ��ˤϡ��դ����ӡ֥֥졼���ݥ���Ȥ򥫥����ޥ��� ��Customize Breakpoint�ˡץ%����?�ܥå����򳫤��ơ��ֻ���ؿ��� ��While In�ˡץե�����ɤ� runProgram �����ꤷ�ޤ���

�֥֥졼���ݥ���Ȥ򥫥����ޥ��� ��Customize Breakpoint�ˡץ�����ɥ�

�����ǡ��Ƥӡ���̣�Τ���ݥ���Ȥ˷����֤������̤�����Ǥ��ޤ���

���ƥå� 5: �����Ĵ��

���פʥ��顼��å�������ȯ�Ԥ���Ƥ���Τϲ��ΤǤ������$餫�ˡ� err_silent �� > 0 �Ǥ��뤿��Ǥ����Х롼��ɾ�d���Ѥ��� err_silent ���ͤ򸫤Ƥߤޤ��礦����������� 31 ���ܤ� err_silent ���֤��ơ�ɽ��������ͤ��Ե����ޤ���

err_silent = 0 �ΥХ롼��ɾ�d�ɽ�����줿�֥��ǥ��� ��Editor�ˡץ�����ɥ�

err_silent �����ꤵ�������ǧ���뤿��ˡ������å��˽����ޤ��礦���ָƤӽФ����򸽺ߤ����� (Make Caller Current)�� �ָƤӽФ����򸽺ߤ����� (Make Caller Current)�ץܥ����� 2 �󥯥�å������ evaluateField() �����夷�����Ǥ� evaluateFieldPrepare() ��ƤӽФ��Ƥ��ơ�err_silent �����Ƥ����ǽ-�Τ���ʣ���ʴؿ�򥷥ߥ�졼�Ȥ��ޤ���

evaluateField �˥�٥�!����ȥ饤�פ�ɽ�����줿�֥��ǥ��� (Editor)�ץ�����ɥ�

�ָƤӽФ����򸽺ߤ����� ��Make Caller Current�ˡפ�⤦���٥���å�����ȡ�printField() �����夷�ޤ��������� err_silent ����䤵��Ƥ��ޤ���printField() �Ϥ��Ǥ� printFieldPrepare() ��ƤӽФ��Ƥ��ơ�err_silent �����Ƥ����ǽ-�Τ���ʣ���ʴؿ�⥷�ߥ�졼�Ȥ��ޤ���

printField �˥�٥�!����ȥ饤�פ�ɽ�����줿�֥��ǥ��� ��Editor�ˡץ�����ɥ�

err_silent++ ����� err_silent-- ���ɤΤ褦�ˤ����Ĥ��Υ����ɤ�Ϥफ����դ��Ƥ��$�����

printFieldPrepare() �ޤ��� evaluateFieldPrepare() �Τ����줫�ǡ�err_silent ���ְ�äƤ��뤫���ޤ��ϥ���ȥ?�뤬 printField() �����夹��Ȥ��ˤ��Ǥ˴ְ�äƤ��뤳�Ȥ�����ޤ���

printField () �˥֥졼���ݥ���Ȥ��֤����Ȥˤ�ä� printField() �ؤθƤӽФ�p�夬�ְ�äƤ��뤫�ɤ������狼��Ǥ��礦��

���ƥå� 6: ���¿���Υ֥졼���ݥ���ȥ������

printField() �˥֥졼���ݥ���Ȥ����ꤷ�ޤ���

  1. printField() ��j�򤷡��ֿ����֥졼���ݥ���� (New Breakpoint)�פ򱦥���å����ơ�j�򤷤ޤ���

  2. �������֥졼���ݥ���ȥ����פ���p��j�򤵤졢�ִؿ� (Function)�ץե�����ɤ� printfield �ǻ�p���Ϥ���Ƥ��ޤ���

  3. ��OK�פ򥯥�å����ޤ���

    �ֿ����֥졼���ݥ���� ��New Breakpoint�ˡץ%����?�ܥå���
  4. �ּ¹� ��Run�ˡ� �ּ¹� (Run)�ץܥ����򥯥�å����ޤ����֥졼���ݥ���Ȥ�ҥåȤ�����ϡ��ǽ�μ¹Ի����ǽ����߻�������Ӻǽ�Υե������ var.a ��Ǥ���err_silent �� 0 �ǡ���������ꤢ��ޤ���

    �Х롼��ɾ�d�ɽ�����줿�֥��ǥ��� (Editor)�ץ�����ɥ�
  5. �ַ�³ ��Continue�ˡפ򥯥�å����ޤ���err_silent �ϰ�s�Ȥ������ꤢ��ޤ���

  6. �դ����ӡַ�³ ��Continue�ˡפ򥯥�å����ޤ���err_silent �ϰ�s�Ȥ������ꤢ��ޤ���

����� printField() �ؤθƤӽФ���ã�������η�̡����פʥ��顼��å�������ȯ8����ޤǤ��Ф餯������ޤ���printField �֥졼���ݥ���Ȥǥ֥졼���ݥ���ȥ�����Ȥ���Ѥ���ɬ�פ�����ޤ���������������Ȥ�ɤΤ褦�����ꤷ����褤�Ǥ��礦�������δ�ñ����Ǥϡ�ɽ������Ƥ���¹ԡ���ߡ�����ӥե�����ɤ��褦�Ȥ��ޤ������ºݤˤ�����ͽ¬��ǽ�ǤϤʤ���ǽ-������ޤ������$���������Ȥ�Ⱦ��ưŪ�Ǥ��뤫���¬������ˡ������ޤ���

  1. printField() ��Υ֥졼���ݥ���ȤΡ֥֥졼���ݥ���Ȥ򥫥����ޥ��� ��Customize Breakpoint�ˡפ򳫤��ơ��֥����󥿤ξ���� (Count Limit)�ץե�����ɤ� infinity �����ꤷ�ޤ���

    �֥֥졼���ݥ���Ȥ򥫥����ޥ��� ��Customize Breakpoint�ˡץ%����?�ܥå���

    ��������ϡ����Υ֥졼���ݥ���Ȥ���ߤ��ʤ����Ȥ��̣���ޤ������$�����s�Ȥ��ƿ�Ƥ��ޤ���

  2. ���λ��$ǡ��֥֥졼���ݥ���� ��Breakpoints�ˡץ�����ɥ��ˡ�������ȤʤɤΤ��¿���Υץ�ѥƥ���ɽ�����뤳�Ȥ�˾�ޤ����Ǥ��礦��

    1. �֥֥졼���ݥ���� ��Breakpoints�ˡץ�����ɥ��α���Ѥˤ����ɽ�����ܤ��ѹ� (Change Visible Columns)�ץܥ��� ��ɽ�����ܤ��ѹ� (Change Visible Columns)�ץܥ��� �򥯥�å����ޤ���

    2. �֥������ (Count)�ס���)�� (Limit)�ס�����ӡֻ���ؿ��� (While In)�פ�j�򤷤ޤ���

    3. ��OK�פ򥯥�å����ޤ���

      ��ɽ�����ܤ��ѹ� (Change Visible Columns)�ץ%����?�ܥå���
  3. �ץ?����Ƽ¹Ԥ��ޤ���error() ��Υ֥졼���ݥ���ȡ�runProgram() �ˤ�äƶ������դ�����֥졼���ݥ���Ȥ�ҥåȤ��ޤ���

  4. �����ǡ�printField() ��Υ֥졼���ݥ���ȤΥ�����Ȥ򸫤Ƥߤޤ��礦��

    �֥֥졼���ݥ���� ��Breakpoints�ˡץ�����ɥ�

    15 �ǡ����ʤ�a��ۤ���������ȤǤ���

  5. �֥����󥿤ξ���� ��Count Limit�ˡ���Υɥ�åץ%���ꥹ�Ȥ򥯥�å����ơ��ָ��ߤΥ�������ͤ���� (Use current Count value)�פ�j�򤷡����ߤΥ�����Ȥ򥫥��󥿤ξ�¤�ž��ơ����ԥ����򲡤��ޤ���

�����ǡ�printField() ����ߤ���ץ?����¹Ԥ���ȡ��Ǹ夬���פʥ��顼��å�������p�˸ƤӽФ���ޤ���

���ƥå� 6: ������ϰϤ���ꤹ��

�Х롼��ɾ�d���Ѥ��ơ��դ����� err_silent �򸡺����ޤ������ߤ� -1 �Ǥ���printField() ����ã����p�ˡ��� �Ĥ� err_silent-- ��ɬ�װʾ�ˡ����뤤�� �� �Ĥ� err_silent++ ��ɬ�װʲ��˼¹Ԥ��줿�Ȥ�����ǽ-�ϺǤ�⤤�Ȥ����ޤ���

err_silent �Τ��Υߥ��ޥådΥڥ���ɤΤ褦�˸���Ǥ��ޤ�����������Τ褦�ʾ����ʥץ?���Ǥϡ���տ��������ɸ����ˤ�äƹԤ����Ȥ��Ǥ��ޤ������������礭�ʥץ?���Ǥϡ�ˡ���ʿ�Υڥ��������ǽ-������ޤ���

err_silent++;
err_silent--;

�ߥ��ޥådΥڥ�����®���������ˡ�Ȥ��ơ������åeݥ���Ȥ����Ѥ�����ޤ���


�ҥ�� - err_silent++; ����� err_silent--; �Υߥ��ޥådΥ��åȤǤϤʤ���err_silent �Υ���ƥ�Ĥ��񤭤�����5�ݥ��󥿤Ǥ�����⤢��ޤ��������åeݥ���ȤϤ��Τ褦�������Ȥ館��Τˤ����Ū�Ǥ��礦��


���ƥå� 7: �����åeݥ���Ȥλ���ˡ

err_silent �ǥ����åeݥ���Ȥ��.����ˤϡ����μ��˽����ޤ���

  1. err_silent �ѿ��j�򤷡��ֿ����֥졼���ݥ���� (New Breakpoint)�פ򱦥���å����ơ�j�򤷤ޤ���

  2. ������������֥졼���ݥ���Ȥμ�������ꤷ�ޤ��������� (Settings)�ץ�������󤬤ɤΤ褦���ѹ����졢�֥��ɥ쥹 (Address)�ץե�����ɤ��ɤΤ褦�� & err_silent �Ǥ��뤫��դ��Ƥ��$�����

  3. �֤��� (When)�ץե�����ɤΡָ� (After)�פ�j�򤷤ޤ���

  4. �ֱ黻 ��Operation�ˡץե�����ɤΡֽ񤭹��� ��Write�ˡפ�j�򤷤ޤ���

  5. ��OK�פ򥯥�å����ޤ���

    �ֿ����֥졼���ݥ���� (New Breakpoint)�ץ�����ɥ�
  6. �����ǥץ?����¹Ԥ��ޤ���init() ����ߤ��ޤ��������Ǥ�����ʤ��Τ褦�Ǥ����Ĥޤꡢerr_silent �� 1 ����ʬ���졢���θ�¹Ԥ���ߤ��ޤ�����

  7. �ַ�³ ��Continue�ˡפ򥯥�å����ޤ����դ����� init() ����ߤ��ޤ���

  8. �դ����ӡַ�³ ��Continue�ˡפ򥯥�å����ޤ����դ����� init() ����ߤ��ޤ���

  9. �դ����ӡַ�³ ��Continue�ˡפ򥯥�å����ޤ����դ����� init() ����ߤ��ޤ���

  10. �դ����ӡַ�³ ��Continue�ˡפ򥯥�å����ޤ��������ǡ�stopIn() ����ߤ��ޤ��������Ǥ�����ʤ��Τ褦�ǡ��Ĥޤ� -1s �ǤϤ���ޤ���

err_silent �� -1 �����ꤵ���ޤǤ��Ф餯���֤������뤳�Ȥ�����ޤ������볦�����Ǽºݤ� -1 ���Ѥ�ä��ִ֤�ƨ���ޤ��ȡַ�³ (Continue)�ץܥ���򲿽���⥯��å��������⤢��ޤ��󡣤���������ˤ褤��ˡ������ޤ���

���ƥå� 8:�֥졼���ݥ���Ȥξ��

�����åeݥ���Ȥ˾����ɲä���ˤϡ����μ��˽����ޤ���

  1. �֥֥졼���ݥ���� ��Breakpoint�ˡץ�����ɥ��ǡ��ָ� (After)�פΡֽ񤭹��� (write)�ץ֥졼���ݥ���Ȥ򱦥���å����ơ��֥������ޥ��� ��Customize�ˡפ�j�򤷤ޤ���

  2. �ָ� (After)�פ��֤Ȥ� (When)�ץե�����ɤ�j�򤵤�Ƥ��뤳�Ȥ��ǧ���ޤ���


    �ҥ�� - err_silent ���ͤ������ѹ����줿���Τꤿ�����ᡢ�ָ� (After)�פ�j�򤹤뤳�ȤϽ��פǤ���


  3. �־�� (Condition)�ץե�����ɤ� err_silent == -1 �����ꤷ�ޤ���

  4. ��OK�פ򥯥�å����ޤ���

    �֥֥졼���ݥ���Ȥ򥫥����ޥ��� ��Customize Breakpoint�ˡץ%����?�ܥå���

����ǥץ?����Ƽ¹Ԥ��ޤ���checkThings() ����ߤ��ޤ�������� err_silent �� -1 �����ꤵ��Ƥ���ǽ�Ǥ����ޥåe󥰤��Ƥ��� err_silent++ ��õ���ˤĤ�ơ��Х��Τ褦�˸������Τ��ǧ���ޤ���err_silent �ϴؿ�� else ��ʬ�ǤΤ���ʬ����ޤ���

checkThings ����ߤ����ץ?����ɽ������֥��ǥ��� ��Editor�ˡץ�����ɥ�

����Ϥ��ʤ���õ���Ƥ���Х��Ǥ��礦����

���ƥå� 9:�����å���ݥåפ��뤳�Ȥˤ����Ǥγ�ǧ

�ؿ�� else �֥�å�����ºݤ˿ʤ�Ǥ��뤳�Ȥ�%֥�e��å����ޤ��礦��

�����Ԥ� 1 ����ˡ�ϡ�checkThings() �ǥ֥졼���ݥ���Ȥ����ꤷ���ץ?����¹Ԥ��뤳�ȤǤ�����������checkThings() �ϲ��٤�ƤӽФ�����ǽ-������ޤ���checkThings() ��5�����ƤӽФ���ã����ˤϥ֥졼���ݥ���ȥ�����Ȥޤ��϶����֥졼���ݥ���Ȥ���ѤǤ��ޤ������Ƕ�¹Ԥ��줿��Τ�Ƽ¹Ԥ��뤹�Ф䤤��ˡ������ޤ���

checkThings() �ؤθƤӽФ��˵��դ��ޤ����ºݡ��ץ?���ξ��֤ϡ�checkThings() �ؤθƤӽФ���ޤ�Ԥκǽ���ᤵ��Ƥ��ޤ���

�����ǡ��֥��ƥåץ��� (Step Into)�� �֥��ƥåץ��� (Step Into)�ץܥ��� �򥯥�å������դ����� checkThings() ���ƤӽФ���뤿�Ӥ˴ƻ뤷�ޤ��� checkThings()() �򥹥ƥåץ��롼����ˤĤ�ơ��ºݤ˥ץ?���� if �֥�å���¹Ԥ��뤳�Ȥ��ǧ�Ǥ��ޤ���err_silent ����ʬ���줺��-1 �˸��餵��ޤ���

checkThings �� if ������������ߤ����ץ?����ɽ������֥��ǥ��� ��Editor�ˡץ�����ɥ�

�ץ?��ߥ󥰥��顼�򸡽Ф��Ƥ���褦�˸����ޤ����������������ȥ�ץ�e��å����ޤ��礦��

���ƥå� 10:���Ǥ򤵤�˳�ǧ���뤿��ν�5�λ���ˡ

�����ɤ�Ŭ�ڤ˽�5�����Х����ºݤ˲�褵�줿���Ȥ��ǧ���ޤ���

  1. err_silent++ �� if ʸ�ξ�����褦�˥����ɤ�5���ޤ�����̤ϼ��Τ褦�ˤʤ�ޤ���

    err_silent++ ����ư�������Ȥ�ɽ�����Ƥ���֥��ǥ��� ��Editor�ˡץ�����ɥ�
  2. �֥ǥХå� ��Debug�ˡ� > �֥������ѹ���Ŭ�� (Apply Code Changes)�פ�j�򤷤ޤ���

  3. printField �֥졼���ݥ���Ȥ���ӥ����åeݥ���Ȥ�̵��ˤ��ޤ�����error() �Υ֥졼���ݥ���Ȥ�ͭ��ʤޤޤˤ��ޤ���

    �֥֥졼���ݥ���� ��Breakpoints�ˡץ�����ɥ�
  4. �ץ?����Ƽ¹Ԥ��ޤ���

error() �ǥ֥졼���ݥ���Ȥ�ҥåȤ��뤳�Ȥʤ��ץ?��ब��λ�������Ϥ�����ɤ���Ǥ��뤳�Ȥ���դ��ޤ��礦��

�֥ץ?�������� ��Process I/O�ˡץ�����ɥ�

�ǥ������å����

�嵭�ϡ���p�Ȥ����֥֥졼���ݥ���Ȥȥ��ƥå�ư��λ���ˡ���ν��������$����Τ�Ʊ���ѥ�����򼨤��Ƥ��ꡢ�ĤޤꡢĴ�Ҥ������ʤ�p�λ��$θ�ư��ץ?������ߤ����ºݤ˥����ɤ�ư�����ˡ�ǥ����ɤΰտޤ���Ӥ��ƥ����ɤ򥹥ƥåץ��롼���ޤ���������ϡ�Ĵ�Ҥ������ʤ�p�˥ݥ���Ȥ򸡽Ф��뤳�Ȥ�������Ϣ���Ƥ��ޤ���

�֥졼���ݥ���ȥ�����ץȤ���Ѥ��ƥ����ɤ˥ѥåd�Ŭ�Ѥ���

�֥֥졼���ݥ���Ȥȥ��ƥå�ư��λ���ˡ�� �ǡ���ιԤ� NULL �κǽ�Υȡ������8.����SEGV �θ���Ȥʤ�Х��򸡽Ф��ޤ����������ˤ��Ф䤯��褹����ˡ������ޤ���

  1. p����Ǻ�.�����֥졼���ݥ���ȤΤ��٤Ƥ���ޤ���

  2. �ּ¹Բ�ǽ�ե������ǥХå����ޤ� (Debug Executable)�ץ%����?�ܥå����� <in ������ޤ���

  3. interp.cc �� 130 ���ܤιԥ֥졼���ݥ���Ȥ��ڤ��ؤ��ޤ���

    130 ���ܤ˥֥졼���ݥ���Ȥ�ɽ�����줿�֥��ǥ��� ��Editor�ˡץ�����ɥ�
  4. �֥֥졼���ݥ���� ��Breakpoints�ˡץ�����ɥ��ǡ��d礦�ɺ�.�����֥졼���ݥ���Ȥ򱦥���å��� (��꿷�����֥졼���ݥ���Ȥϰ��ֲ����ɲä����)���֥������ޥ��� ��Customize�ˡפ�j�򤷤ޤ���

  5. �֥֥졼���ݥ���Ȥ򥫥����ޥ��� ��Customize Breakpoint�ˡץ%����?�ܥå����Ρ��־�� ��Condition�ˡץե�����ɤ� token == 0 �����Ϥ��ޤ���

  6. �֥�������� (Action)�ץɥ�åץ%���ꥹ�Ȥ���֥�����ץȤμ¹� ��Run Script�ˡפ�j�򤷤ޤ���

  7. �֥�����ץ� ��Script�ˡץե�����ɤǡ�assign token = line �����Ϥ��ޤ���


    �ҥ�� - assign token = "dummy" �Ϥɤ��Ǥ�����dbx �ϥǥХå��ץ?���� dummy ʸ���������Ƥ뤳�ȤϤǤ��ޤ��󡣤��ΰ���� line �� "" �������Ȥ��Τ��Ƥ��ޤ���


    �%����?�ܥå����ϼ��Τ褦��ɽ�������Ϥ��Ǥ���

    �֥�������֥졼���ݥ���� (Custom breakpoint)�ץ%����?�ܥå���
  8. ��OK�פ򥯥�å����ޤ���

�����ǡ��ץ?����¹Ԥ�������å���ǤϤʤ�����ιԤ����Ϥ���ȡ����Τ褦��ư��ޤ���

�֥ץ?�������� ��Process I/O�ˡץ�����ɥ�

dbxtool �� dbx �����줿���ޥ�ɤ�ɽ���������ϤɤΤ褦������˵�ǽ����Ǥ��礦����

when at "interp.cc":130 -if token == 0 { assign token = line; }
ContactAbout SunNewsEmploymentSite MapPrivacyTerms of UseTrademarksCopyright Sun Microsystems, Inc.