어제 부터 점심때부터 지금까지 장난아니게 헤매고 있네요.
제가 원하는건 target board의 응용프로그램을 host환경에서 컴파일 하는건데
잘되면 ddd로 연동해서 보면 편할거 같아서요. 소스분량이 장난이 아니라 ㅡㅡ;
일단 그이전에 데스크탑 컴에 깔려 있는 gdb로 테스트 하고 있는데요.
여기서도 안되네요.
아래 싸이트 참고 했습니다.
http://www.falinux.com/bbs/view.php?id=lec_build&page=1&sn1=&divpage=1&sn=off&ss=on&sc=on&select_arrange=headnum&desc=asc&no=11
--------------------> RPM-VERSION<-------------------------
[root@localhost GDB]# rpm -qa | grep gdb
gdbm-1.8.0-24
gdbm-devel-1.8.0-24
gdb-6.3.0.0-1.63
--------------------> target <------------------------------
[root@localhost GDB]# gdbserver 211.47.185.131:8000 debug2
Process debug2 created; pid = 14137
Listening on port 8000
Remote debugging from host 127.0.0.1 <== 접속시 메세지
pKilling inferior <== 런하면 이렇게 됨
--------------------> host <---------------------------------
[root@localhost GDB]# gdb
GNU gdb Red Hat Linux (6.3.0.0-1.63rh)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "i386-redhat-linux-gnu".
gdb) target remote 127.0.0.1:8000
Remote debugging using 127.0.0.1:8000
0x004367c0 in ?? ()
(gdb) list
1 #include <stdio.h>
2
3 main(int argc, char *argv[])
4 {
5 int i;
6
7 for (i=0; i< argc ; i++)
8 printf("%s n", argv[i]);
9 }
10
(gdb) b 8
Breakpoint 1 at 0x8048393: file debug2.c, line 8.
(gdb) run hello test test1
The program being debugged has been started already.
Start it from the beginning? (y or n) y
Starting program: /home/gchwang/source/GDB/debug2 hello test test1
Breakpoint 1, main (argc=4, argv=0xbfe994c4) at debug2.c:8
8 printf("%s n", argv[i]);
---------------------------------------------------------------
host 에서 remote로 접속하면
"0x004367c0 in ?? ()" 라고 나옴니다.
원래는 127.0.0.1:8000 Sucess 이런 식으로 떠야 하는데요.
일단 이건 넘어간다고 쳐도 break point걸고 run 시키면
gdbserver가 죽어버리네요.
정령 printf로 찍어야 한단 말인가... ㅡㅡ;
혹시 strip 을 하신건 아닌지요?