ʹÓÃGDBµ÷ÊÔǶÈëʽLinuxÉ豸
²½Ö裺
Ò»¡£ÊìϤÔÚÆÕͨµçÄÔÉÏÓÃ
GDBµ÷ÊԵĻù±¾·½Ê½¡£²Î¼û£º
http://www.ibm.com/developerworks/linux/library/l-gdb/
¶þ¡£ÏÂÔØ¡¶
gdb
quick reference¡·£¬
2ÕÅÖ½£¬´òÓ¡³öÀ´·ÅÔÚÊֱ߱¸Óá£
Èý¡£ÈÃǶÈëʽϵͳ֧³Ö
gdbserver.
£¨ÔÚ
openwrtÉÏ£¬¼´ÔÚ
make
menuconfigʱѡÔñ±àÒë
gdbserver£©
ËÄ¡£½øÐе÷ÊÔ
¶ÔÓÚµÚËÄ
µã£¬ÏÂÃæÒÔmips
cpu
ÉϵÄopenwrt
Ϊƽ̨½øÐоÙÀý
µçÄÔIPµØÖ·Îª192.168.1.115, É豸IPµØÖ·Îª192.168.1.1£¬»¥ÏàÄܽøÐÐIPͨÐÅ
ͨ¹ý½»²æ±àÒ빤¾ß£¬°ÑÈçÏ´úÂë±àÒë³ÉÉ豸ÉϵÄÖ§³ÖGDB
µÄ¿ÉÖ´ÐÐÎļþtest.bin
#include <stdio.h>
int main(int argc, char *argv[])
{
int i=0; i=1;
printf(“%d”, i++);
i++;
printf(“%d, %d”, j++, i++);
}
±àÒëÃüÁî¾ÙÀý£º
$(OPENWRT_DIR)/staging_dir/toolchain-mips_gcc4.1.2/bin/mips-linux-uclibc-gcc
-g -Wall -I. -I $(PWD)/../../Include/ -I
$(OPENWRT_DIR)/build_dir/linux-msp71xx/linux-2.6.20.21/ -o test.bin
test.c
½«±àÒë³öÀ´µÄtest.bin
¿½±´µ½Ç¶ÈëʽÉ豸ÉÏÅܵÄlinux
µÄ/usr/
Ŀ¼ÏÂ
ÔÚÉ豸ÉÏÖ´ÐÐÈçÏÂÓï¾äÆô¶¯GDBSERVER
gdbserver host:2345 /usr/test.bin
ÔÚµçÄÔÉÏÖ´ÐÐÈçÏÂÃüÁ
/openwrt/staging_dir/toolchain-mips_gcc4.1.2/bin/mips-linux-uclibc-gdb
test.bin
ÔÚµçÄÔÉϽøÈëGDB
µÄ½çÃæÁË£¬Ö´ÐÐÈçÏÂÃüÁî¸ømain
º¯Êý¼ÓÒ»¸ö¶Ïµã£º
break main
ÔÚµçÄÔÉϵÄGDB
½çÃæÖ´ÐÐÈçÏÂÃüÁ½¨Á¢ÓÚÉ豸ÉϵÄgdbserver
µÄÁ¬½Ó£º
target remote 192.168.1.1:2345
ÔÚµçÄÔÉϵÄGDB
½çÃæÖ´ÐÐÈçÏÂÃüÁʼÅܳÌÐò£º
continue
´Ëʱ±ã½øÈëµ÷ÊÔÁË£¬Ê¹ÓüûÇ°ÃæÌáµ½µÄ<gdb quick reference>
Ö´ÐÐÈçÏÂÃüÁîÖÕÖ¹GDB
µ÷ÊÔ£º
quit
Ïà¹ØÎĵµ£º
Ò»¡¢ÒýÑÔ£º
±¾ÎĵµµÄÄÚÈݴ󲿷ÝÄÚÈݶ¼ÊÇ´ÓÍøÉÏÊÕ¼¯¶øÀ´£¬È»ºóÅäºÏһЩеĽØÍ¼£¨Äں˰汾£ºV2.4.19£©¡£ÔÚÿһÅäÖÃÏîºó»áÓÐÒ»¸öÑ¡ÔñÖ¸ÄϵIJ¿·Ý£¬ÓÃÀ´Ö¸µ¼´ó¼ÒÔõôÑù¸ù¾Ý×Ô¼ºµÄÇé¿öÀ´×öÏàÓ¦µÄÑ¡Ôñ£»»¹ÓÐÔÚÿһ¸ö´óÏîºÍÎĵµµÄ×îºó»áÓÐÒ»¸ö¾Ñé̸£¬ËüÊÇһЩ¸ßÊÖÃÇÔÚÓ¦¶ÔÎÊÌâºÍ´¦ÀíÌØÓÐÓ²¼þʱµÄһЩ¾Ñ飨Õâ¸ö»¹µ ......
Linuxѧϰ±Ê¼Ç
1. Ò»¸ö±äÁ¿´´½¨Ê±£¬Ëü²»»á×Ô¶¯µØÎªÔÚËüÖ®ºó´´½¨µÄshell½ø³ÌËùÖª¡£¶øÃüÁîexport¿ÉÒÔÏòºóÃæµÄshell´«µÝ±äÁ¿µÄÖµ¡£µ±Ò»¸öshell½Å±¾µ÷Óò¢Ö´ÐÐʱ£¬Ëü²»»á×Ô¶¯µÃµ½ÔΪ½Å±¾£¨µ÷ÓÃÕߣ©ÀﶨÒåµÄ±äÁ¿µÄ·ÃÎÊȨ£¬³ý·ÇÕâЩ±äÁ¿ÒѾ±»ÏÔʽµØÉèÖÃΪ¿ÉÓá£exportÃüÁî¿ÉÒÔÓÃÓÚ´«µÝÒ»¸ö»ò¶à¸ö±äÁ¿µÄÖµµ½Èκκó ......
½øÈëGRUB:ÔÚÒýµ¼×°ÔسÌÐò²Ëµ¥ÉÏ£¬¼üÈë [e] À´½øÈë±à¼Ä£Ê½¡£Äã»áÃæ¶ÔÒ»¸öÒýµ¼ÏîÄ¿ÁÐ±í¡£²éÕÒÆäÖÐÀàËÆÒÔÏÂÊä³ö µÄ¾äÐУº ¡¡
kernel /vmlinuz-2.4.18-0.4 ro root=/dev/hda2
°´¼ýÍ·¼üÖ±µ½ÕâÒ»Ðб»Í»³öÏÔʾ£¬È»ºó°´ [e]¡£ÄãÏÖÔÚ¿ÉÔÚÎı¾½áβ´¦¿ÕÒ»¸ñÔÙÌí¼Ó single À´¸æËß GRUB Òýµ¼µ¥Óû§ Linux ģʽ¡£°´ [Enter] ¼üÀ´Ê¹± ......
ÔÚlinuxÉϰ²×°oracleÊÇÒ»¼þ¸´ÔÓµÄÊÂÇ飬ÓÈÆä¶ÔÓÚÒ»¸öÉúÊÖÀ´Ëµ£¬ËüµÄ¸´Ôӳ̶ÈÔ¶³¬¹ýÁËlinux²Ù×÷ϵͳµÄ°²×°£¬ÒòΪ²»ÏñwindowsÄÇÑù¿ÉÒÔÖ±½Óµã»÷sertup.exe¾ÍokÁË£¬ÔÚ°²×°Ö®Ç°ÄãÒªÅäÖû·¾³±äÁ¿£¬ÐÞ¸ÄÈô¸É¸öϵͳÎļþ£¬²¢ÇÒÕâЩ²ÎÊý¿ÉÄܸù¾ÝÄãlinux°æ±¾µÄ²»Í¬¶øÓÐËù²»Í¬£¬Èç¹ûÅäÖò»ÕýÈ·£¬¿ÉÄܵ¼ÖÂ×îÖյݲװʧ°Ü£¬ÆäËü»¹ÓÐÄãµÄÄ¿ ......
ʲôÊÇprocÎļþϵͳ£¿ procÎļþϵͳÊÇÒ»¸öαÎļþϵͳ£¬ËüÖ»´æÔÚÄÚ´æµ±ÖУ¬¶ø²»Õ¼ÓÃÍâ´æ¿Õ¼ä¡£ËüÒÔÎļþϵͳµÄ·½Ê½Îª·ÃÎÊϵͳÄÚºËÊý¾ÝµÄ²Ù×÷Ìṩ½Ó¿Ú¡£Óû§ºÍÓ¦ÓóÌÐò¿ÉÒÔͨ¹ýprocµÃµ½ÏµÍ³µÄÐÅÏ¢£¬²¢¿ÉÒԸıäÄں˵ÄijЩ²ÎÊý¡£ÓÉÓÚϵͳµÄÐÅÏ¢£¬Èç½ø³Ì£¬ÊǶ¯Ì¬¸Ä±äµÄ£¬ËùÒÔÓû§»òÓ¦ÓóÌÐò¶ÁÈ¡procÎļþʱ£¬procÎļþϵͳÊǶ¯Ì¬´Ó ......