����Զ�̵��Ի�����������GDB��Ŀ�������stub��ͬ���ɣ�����ͨ�����ڻ�TCP���ӡ�ʹ��GDB���̴���Э��Эͬ������ʵ�ֶ�Ŀ����ϵ�ϵͳ�ں˺��ϲ�Ӧ�õļ�غ͵��Թ��ܡ�����stub��Ƕ��ʽϵͳ�е�һ�δ��룬��Ϊ������GDB��Ŀ������Գ�����һ��ý������ڡ�
������Ŀǰ���ԣ�Ƕ��ʽLinuxϵͳ�У���Ҫ������Զ�̵��Է������ֱ������ڲ�ͬ���ϵĵ��Թ�������ROM Monitor����Ŀ���������KGDB����ϵͳ�ں˺���gdbserver�����û��ռ���������ֵ��Է�����������Ҫ���ڣ�Ŀ���Զ�̵���stub �Ĵ�����ʽ�IJ�ͬ���������˼·��ʵ�ַ������Ǵ�����ͬ�ġ�
������������õ��ǵ���Ӧ�ó����Dz��� gdb+gdbserver�ķ�ʽ���е��ԡ��ںܶ�����£��û���Ҫ��һ��Ӧ�ó�����з������ԣ��ر��Ǹ��ӵij�����GDB�������ԣ�����Ƕ��ʽϵͳ��Դ�����ԣ�һ�㲻��ֱ����Ŀ��ϵͳ�Ͻ��е��ԣ�ͨ������gdb+gdbserver�ķ�ʽ���е��ԡ� gdbserver��Ŀ��ϵͳ�����У�GDB���������������С�
������GDB���ԣ�Ŀ��ϵͳ�������gdbserver����������Ҳ���밲װGDB����һ��Linux���а��ж���һ���������е�GDB����������Ա����ֱ��ʹ�ø÷��а��е�GDB����Զ�̵��ԣ���Ҫ��ȡGDB��Դ����������armƽ̨��һ�������ã����±���õ���ӦGDB��GDB��Դ��������Դ� http: //ftp.cs.pu.edu.tw/linux/sourceware/gdb/releases/���أ����°汾Ϊgdb-6.4�����ص�ij��Ŀ¼���������ص��Լ����û�Ŀ¼��/home/vicky��
�������������/home/vickyĿ¼�����ñ��벽�����£�
����#tar jxvf gdb-6.4-tar-bz2
����#cd gdb-6.4
����#./configure --target=arm-linux --prefix=/usr/local/arm-gdb -v
����#make
������һ����ʱ����ܻ������⣬��ʾһ��������(���庯�������ǵ���)parse error������unsignedǰ�߶���һ��”}”,����vi������һ�а���ɾ�������ˡ�
����#make install
����#export PATH=$PATH:/usr/local/arm-gdb
��������gdbserverĿ¼��
����#./configure --target=arm-linux –host=arm-linux
����#make CC=/usr/local/arm/2.95.3/bin/arm-linux-gcc
����(��һ��Ҫָ��arm-linux-gcc��λ��)
����û�д���Ļ�����gdbserverĿ¼������gdbserver��ִ���ļ���������д��flash�ĸ��ļ�ϵͳ��������ͨ��nfs mount�ķ�ʽ�����ԡ�ֻҪ��֤gdbserver���ڿ����������о��С�
��������Ϳ�����gdb+gdbserver�������ǿ������ϵij����ˡ���Ŀ���������gdbserver����ʵ��������������minicom�£��ҵ� RedHat Linuxװ��vmware�µġ�������minicom��#mount 192.168.2.100:/ /tmp������(�������-o nolock���Բ��ӣ�������һ��ִ�е÷�������Щ)��hello��gdbserver����λ��Linux��Ŀ¼�£���������Ŀ¼���ڵ��������/tmp Ŀ¼�¡�
����Ҫ����gdb���ԣ�����Ҫ��Ŀ��ϵͳ������gdbserver������gdbserver����Ŀ¼���������
����(minicom��)
����#cd /tmp
����#./gdbserver 192.168.2.100:2345 hello
����192.168.2.100Ϊ������IP����Ŀ��ϵͳ��2345�˿ڿ�����һ�����Խ��̣�helloΪҪ���Եij���
����������ʾ��
����Process /tmp/hello created: pid=80
����Listening on port 2345
����(��һ���ն���)
����#cd /
����#export PATH=$PATH:/usr/local/arm-gdb/bin
����#arm-linux-gdb hello
����(gdb) target remote 192.168.2.223:2345
����(192.168.2.223������IP)
����������ʾ��
����Remote debugging using 192.168.2.223:2345
����[New thread 80]
����[Switching to thread 80]
����0x40002a90 in ??()
����ͬʱ��minicom����ʾ��
����Remote debugging from host 192.168.2.100
����(gdb)
�������ӳɹ�����ʱ��Ϳ����������GDB������list��run��next��step��break�Ƚ��г�������ˡ�
�����������ͨ��nfs mount��tftp�ķ�ʽ��ֻ���������ϵ��Ժú����ص������������У�����д���Ҫ����������̣�������˵����Щ����ֻ���ڿ������ϵ��ԡ����Ա��߲�����gdbserver��Զ�̵��Է�ʽ��ϣ���Դ�ҵ��Գ������á�