2010ǯ03��03��

QEMU�˥ǥХå���Ĥʤ�

�����QEMU�˥ǥХå���Ĥʤ��ä򤷤ޤ���

  • QEMU�����gdb���ɤ�������
  • QEMU��β��ۥޥ����gdb��Ĥʤ�
  • QEMU���Τ�ΤȤ��ξ�β��ۥޥ����Ʊ����2�Ĥ�gdb���ɤ�������


QEMU���Τ�Τ�gdb���ɤ�������

���󥹥ȡ��뤵�줿qemu-system-arm�ϥ���ܥ���󤬺������Ƥ��ޤ���(stripped)

$ file /usr/bin/qemu-system-arm
/usr/bin/qemu-system-arm: ELF 64-bit LSB executable, x86-64, version 1 (SYSV),
 dynamically linked (uses shared libs), for GNU/Linux 2.6.15, stripped

�ʤΤǡ�QEMU�򥽡�������ӥ�ɤ��ơ�arm-softmmu �ǥ��쥯�ȥ�ˤ���qemu-system-arm��Ȥ��ޤ���

$ file obj/arm-softmmu/qemu-system-arm 
obj/arm-softmmu/qemu-system-arm: ELF 64-bit LSB executable, x86-64, version 1 (SYSV),
 dynamically linked (uses shared libs), for GNU/Linux 2.6.15, not stripped

gdb�Υ��󥹥ȡ���

Debian/Ubuntu�ξ���apt-get�Ǵ�ñ�˥��󥹥ȡ���Ǥ��ޤ���

 $ sudo apt-get install gdb

Windows�ξ���MinGW�Υ���������ɥ������� GNU Source-Level Debugger �ΤȤ������� gdb-7.0.1-mingw32-bin.tar.gz �����������ɤ��Ƥ���c:\MinGW\�β���Ÿ�����ޤ���

gdb�ε�ư

�̾��QEMU�ε�ư��ˡ��Ƭ�� "gdb --args " ��Ĥ���ȳڤǤ���

 $ gdb --args qemu-system-arm -M versatilepb -m 256 \
 -kernel arch/arm/boot/zImage \
 -redir tcp:55555::22 \
 -append "root=/dev/nfs rw nfsroot=192.168.xx.xx:/export/debian_lenny_armel/root ip=dhcp "

gdb�Υץ���ץȤ��Ǥ��� r �ޤ��� run ���Ǥ������qemu������Ϥ�ޤ���

����ȥ�����C�Ƕ�����ߤ��ޤ���

Linux�ξ��������ˤ�SIGUSR1��signal�ǻߤޤäƤ��ޤ��Τǡ�SIGUSR1��̵�뤹��褦�˥����ȥǥ��쥯�ȥ��.gdbinit�˰ʲ���񤤤Ƥ����Ȥ褤�Ǥ���

 $ cat .gdbinit 
 handle SIGUSR1 nostop
 handle SIGUSR1 noprint

(2012.1.16�ɵ�)

�פ��֤��qemu-1.0�ǻ�ȡ�SIGUSR1�Ǥʤ�SIG38�Υ����ʥ뤬���ˤ�����褦�ˤʤäƤ��ޤ����������ǡ�.gdbinit�ϰʲ��Τ褦�ˤ��ޤ�����

$ cat .gdbinit
handle SIG38 nostop
handle SIG38 noprint

(2012.1.16�ɵ������ޤǡ���

Windows�Ǥ�gdb�ε�ư�򥷥��륹����ץȤˤ��Ƥ���ȥ���ȥ�����C�ǡ����Υ����륹����ץȼ��Τ���λ���Ƥ��ޤ��Ȥ������Ȥ�������ޤ��������ޥ�ɥץ���ץȤ���ľ��gdb��ư���뤫���ޤ��ϥХå��ե����뤫��gdb��ư����褦�ˤ���С�����ȥ�����C�ǥ������åȥץ�����������ߤ����뤳�Ȥ��Ǥ��ޤ���

QEMU��β��ۥޥ����gdb��Ĥʤ�

��������ȯ�Ǥ褯�Ȥ�gdbserver�ε�ǽ��qemu-system-arm�����񤵤�Ƥ��ޤ�����������gdb (ARM�Ѥʤ�arm-eabi-gdb)�ϥХ��ʥ�ѥå������Ǥ��Ѱդ���Ƥ��ʤ��Τǥ���������ӥ�ɤ��ޤ���

ARM�ѤΥ�����gdb�Υӥ��

http://www.gnu.org/software/gdb/

���饽�������������֤����������ɡ�

Linux�ǤΥӥ��
 $ tar xvf gdb-7.0.1.tar.bz2
 $ mkdir obj
 $ cd obj
 $ ../gdb-7.0.1/configure --target=arm-eabi 
 $ make
 $ sudo make install

--prefix���ά�����/usr/local�˥��󥹥ȡ��뤵��ޤ���

Windows��MSYS�Ķ��ǤΥӥ��
 $ tar xvjf gdb-7.0.1.tar.bz2
 $ mkdir obj
 $ cd obj
 $ ../gdb-7.0.1/configure --target=arm-eabi --prefix=/mingw
 $ make
 $ make install

QEMU�ε�ư

gdb����³���뤿��� -S -gdb tcp::1234 �Υ��ץ������ɲä��ޤ���1234��gdb�Ȥ��̿��˻Ȥ��ݡ����ֹ�Ǥ���

(qemu-0.10.x�κ��� -S -s -p 1234 �Ǥ������ѹ�����ޤ�������

$ qemu-system-arm \
 -S -gdb tcp::1234 \
 -M versatilepb -m 256 -kernel arch/arm/boot/zImage \
 -redir tcp:55555::22 \
 -append "root=/dev/nfs rw nfsroot=192.168.xx.xx:/export/debian_lenny_armel/root ip=dhcp "

��ư����Ȥ�����gdb����³�Ԥ��ˤʤ�ޤ���(-S ���ά������Ԥ�����³�Ԥ��ޤ�����

������gdb�ε�ư

 $ arm-eabi-gdb vmlinux

vmlinux�ϥǥХå����ץ����(-g)��Ĥ��ƥӥ�ɤ��Ƥ���ɬ�פ�����ޤ���

 (gdb) target remote localhost:1234
 (gdb) c

target remote��qemu��ư���Ƥ���ۥ��Ȥ�IP���ɥ쥹����ۤɤΥݡ����ֹ����ꤷ�ޤ���(arm-eabi-gdb��qemu-system-arm���̡��Υޥ����ư���Ƥ��Ƥ⤫�ޤ��ޤ���)

���θ塢r(run)�Ǥʤ���c(continue)�ǥ������åȥץ�������³�Ԥ��ޤ���

QEMU���Τ�ΤȤ��ξ�β��ۥޥ����Ʊ����2�Ĥ�gdb���ɤ�������

���2�ĤϤ������ŤͤƻȤ����Ȥ��Ǥ��ޤ���

$ gdb --args qemu-system-arm \
 -S -gdb tcp::1234 \
 -M versatilepb -m 256 -kernel arch/arm/boot/zImage \
 -redir tcp:55555::22 \
 -append "root=/dev/nfs rw nfsroot=192.168.xx.xx:/export/debian_lenny_armel/root ip=dhcp "

.

.

One more thing ...

���������ˤϺܤ��Ƥ��ޤ���QEMU�ˤĤʤ���PARTNER��¸�ߤ��ޤ���

partner_android00

(����å��dz���ɽ��)

Android�Υ��ߥ�졼����PARTNER��Ĥʤ���do_execve�ǥ֥졼�������Ȥ�����PARTNER��Windows7�ǡ�Android���ߥ�졼����Ubuntu��ư���Ƥ��ޤ���



�ȥ�å��Хå�URL

�����Ȥ���

̾��
 
  ³¨Ê¸»ú
 
 
��������
�ǿ�����
���̥���������
�ǿ�������
<%==comments[n].author%>
<% } %>
�������������󥿡�
  • ������
  • ������
  • �߷ס�

<% for ( var i = 0; i < 7; i++ ) { %> <% } %>
<%= wdays[i] %>
<% for ( var i = 0; i < cal.length; i++ ) { %> <% for ( var j = 0; j < cal[i].length; j++) { %> <% } %> <% } %>
0) { %> id="calendar-611743-day-<%= cal[i][j]%>"<% } %>><%= cal[i][j] %>
���ƥ����̥���������
�������饦��
QR������
QR¥³¡¼¥É
���ԥޥ���������ԥ塼��