1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
|
==========================================================================
�T�[�o�[�������I������ꍇ��coredump�ɂ��ڍׂȃo�O���@
--------------------------------------------------------------------------
< ���̃t�@�C���͉��H >
Athena�g�p����map-server.exe�Ȃǂ��ˑR�������ꍇ�ɁA�������Ƃ��̃X�^�b�N��
�o�b�N�g���[�X�����J���҂ɓ`������@���������B
�o�O�̎��ɕ��p����ƊJ���҂���Ԃ�������Ȃ��B
�����ł́u������v�͂����܂ŃT�[�o�[�ł���A�N���C�A���g�ł͂Ȃ��B
�܂��v���Z�X��core�i�܂���stackdump�j��f�����ۂ̂��Ƃł���A
�������[�v�Ȃǂ̃v���Z�X�͐����Ă��邪�T�[�o�[�̋@�\�͒���Ȃ���Ԃ�
���Ƃł͂Ȃ��B
--------------------------------------------------------------------------
< �ڎ� >
* Cygwin�ł�stackdump��core
Cygwin���core�t�@�C����f�����@���Љ��B
* core�t�@�C������X�^�b�N�̃o�b�N�g���[�X��
�v���O�������f����core����o�b�N�g���[�X����@���Љ��B
* ��
���ۂɂƂ������O�̗�������B
* Windows �p�o�C�i���̏ꍇ
--------------------------------------------------------------------------
< Cygwin�ł�stackdump��core >
Cygwin�Ńv���O�����������I������i�A�N�Z�X�ᔽ�Ȃǂɂ����́j�ꍇ�A�W���ł�
core�ł͂Ȃ�stackdump��f���B����͑S���Ƃ����ėǂ��قǖ��ɗ����Ȃ����߁A
stackdump���R�s�y����Ă��J���҂͂����炭���Ȃ����낤�B
����Ď��̕��@�ŁAstackdump�ł͂Ȃ�core��f���悤�ɂ���B
** ���ϐ��Ɂuerror_start=dumper.exe�v��lj����� **
�悭�킩��Ȃ��ꍇ�A���̂悤�ɍ�Ƃ���Ƃ����B�iWin2000�ł̂݊m�F�j
* �f�X�N�g�b�v�́u�}�C�R���s���[�^�v���E�N���b�N���āu�v���p�e�B�v���o���B
* [�ڍ�]�^�u���J���A[���ϐ�]�{�^�����N���b�N����B
* ���[�U�[���ϐ��A�V�X�e�����ϐ��̂ǂ��炩�uCYGWIN�v�Ƃ����ϐ����Ȃ����T��
* ����ꍇ�́A�I������[�ҏW]�{�^���������A[�ϐ��l]�Ɂuerror_start=dumper.exe�v
��lj�����B���ɉ����̒P�ꂪ����ꍇ�́A�P�����邽�߁A
�lj����镔���̍ŏ��ɔ��p�X�y�[�X�����邱�Ƃ�Y��Ȃ����ƁB
* �Ȃ��ꍇ�́A�V�X�e�����ϐ���(Administrator�������Ȃ��Ȃ烆�[�U�[���ϐ�)
��[�V�K]�{�^���������āA[�ϐ���]�ɁuCYGWIN�v�A�Ӑ��l��
�uerror_start=dumper.exe�v����͂���B
* OK�������ăE�B���h�E����ACygwin���N�����Ȃ����悢
�������Ă����ƁAstackdump�̕ς���core��f���悤�ɂȂ�B
�T�C�Y���傫���ꍇ�Acore��f���̂ɂ͑������Ԃ�������B
�܂�core��f���Ă���ԁAdumper.exe�Ƃ����v���O�����̃E�B���h�E���\�������B
--------------------------------------------------------------------------
< core�t�@�C������X�^�b�N�̃o�b�N�g���[�X�� >
core��f���ꍇ�A�܂��J���҂̓X�^�b�N�̃o�b�N�g���[�X��~������B�G���[����
���f���₷�����炾�B����āAgdb�Ńo�b�N�g���[�X�����o�����B
�܂��A���̂悤�ɂ���gdb���N������B�����ł�map-server.exe���ɏo���B
UNIX�nOS�ł̓R�A�t�@�C�������C������K�v�����邾�낤�B�i�ucore�v�Ȃǁj
$ gdb -c map-server.exe.core
�Ȃɂ��F�X�p�����\������A�Ō�� (gdb) �Ƃ����v�����v�g���o���͂����B
���̒��O�ɃG���[�̋N����������t�@�C�����ȂǂƁA���̓��e���\������Ă���
�͂��Ȃ̂ŁA����̓R�s�y���ׂ����B
�܂��A�����Łubt�v�Ɠ��͂���ƁA�X�^�b�N�̃o�b�N�g���[�X���\�������B
������R�s�y����Ƃ悢�B�������A���܂�ɂ������ꍇ�͍ŏ��̏\���s���x��
�\�����낤�B
���Ȃ݂ɁA�up �ϐ����v�̂悤�ɓ��͂���ƕϐ�����������o����B
�֘A�������ȕϐ��̒l��F�X�\�����Ĉꏏ�ɃR�s�y����ƊJ���҂���Ԃ�������Ȃ��B
gdb���I������ꍇ�́A�uq�v�Ƒł����ށB
--------------------------------------------------------------------------
< �� >
�ȉ���mob.c��mob_warp()���ł킴�ƃA�N�Z�X�ᔽ���N�����ĂƂ������O�ł���B
�G���[�̏ꏊ�A�ǂ��������ŌĂяo���ꂽ�����킩�邾�낤�B
�������AAthena�̃p�b�`�ԍ��̕�Y��Ȃ����ƁB
�p�b�`���Ⴄ�ƁA�\�[�X�t�@�C�����ς��̂ŁA�s�ԍ������ɗ����Ȃ��Ȃ邽�߂��B
�Ȃ��ȉ��̗�ł́A�o�b�N�g���[�X�ȊO�ɁA
p�R�}���h���g���ĊY����MOB�̖��O�i�p��j�ƁA�}�b�v�̖��O��\�����Ă���B
(FAKE_ANGEL, gef_dun03.gat)
#0 mob_warp (md=0x10119c88, x=-1, y=-1, type=-1) at mob.c:1845
1845 memset(NULL,0,1);
(gdb) bt
#0 mob_warp (md=0x10119c88, x=-1, y=-1, type=-1) at mob.c:1845
#1 0x0042609d in mob_ai_sub_lazy (key=0x68e77f5, data=0x10119c88,
app=0x22fe88 "��\"") at mob.c:1412
#2 0x00455b54 in db_foreach (table=0x22fe88, func=0x610691f2 <select+242>)
at db.c:414
#3 0x10119c88 in ?? ()
#4 0x0022fe88 in ?? ()
#5 0x610691f2 in select ()
(gdb) p mob_db[md->class].name
$1 = "FAKE_ANGEL\000\203t\203F\203C\203N\203G\203\223\203"
(gdb) p map[md->bl.m].name
$2 = "gef_dun03.gat\000\000r"
--------------------------------------------------------------------------
< Windows �p�o�C�i���̏ꍇ >
Windows �p�����ɃR���p�C�������T�[�o�[���N���b�V���������ɂ́Acrashdump.log
�Ƃ����t�@�C���������I�ɐ�������܂��B���̒��ɂ́A�T�[�o�[�����肳����̂�
�𗧂�����Ă���̂ŁA���e���t�B�[�h�o�b�N���Ē�����Ώ�����܂��B
VC++�̏ꍇ�́A���ʂȍ�Ƃ͗v��܂���B�t�@�C�����e�L�X�g�G�f�B�^�ŊJ���āA
���̂܂܃R�s�[���y�[�X�g���Ă��������B
bcc �̏ꍇ�́Aperl��bin/tool/crashdump_bcc.pl �����s������ɐ��������A
crashdump_report.log�̓��e��\��t���Ă��������Bperl�̎��s������ȕ��́A
crashdump.log ��*.map ����Ɉ��k���ĕ����肢���܂��B
|