- 论坛徽章:
- 0
|
以下是一些调试信息:
target: S3c2410 + linux-2.6.14 + gcc-3.4.2 + uclibc-0.9.28
targetname : arm 192.168.1.10
hostname : linux 192.168.1.1
on target:
# mount -t nfs linux:/embed/arm/daqmod/debug /mnt/nfs
# cd /mnt/nfs
# ls
arm-linux-gdb gdbserver mytest tcpdump
# ./mytest
Hellow word!!
# ./gdbserver linux:2345 mytest
on host:
[ydyyun@linux ydyyun]$ cd /embed/arm/daqmod/debug/
[ydyyun@linux debug]$ ls
arm-linux-gdb gdbserver mytest tcpdump
[ydyyun@linux debug]$ ./arm-linux-gdb mytest
GNU gdb 6.0
..........
This GDB was configured as "--host=i686-pc-linux-gnu --target=arm-linux"...
(gdb) target remote arm:2345
Remote debugging using arm:2345
0x40000a90 in ?? ()
(gdb)
on target:
# ./gdbserver linux:2345 mytest
Process mytest created; pid = 229
Remote debugging from host 192.168.1.1
on host:
(gdb) b main
Breakpoint 1 at 0x85cc: file t.c, line 3.
(gdb) c
Continuing.
Program received signal SIGILL, Illegal instruction. // Error
0x4000349c in ?? ()
(gdb) disas 0x4000349c 0x400034a4
Dump of assembler code from 0x4000349c to 0x400034a4:
0x4000349c: bl 0x40001740
0x400034a0: ldr r3, [pc, #2272] ; 0x40003d88
End of assembler dump.
(gdb) disas 0x40001740 0x40001748
Dump of assembler code from 0x40001740 to 0x40001748:
0x40001740: stmdb sp!, {r4, r5, r6, r7, r8, r10, lr}
0x40001744: ldr r10, [pc, #668] ; 0x400019e8
End of assembler dump.
在网上google了N久.有人说是float point运算引起的,最好的办法是关闭CPU的FPU,但没说明怎样关闭, 请大侠们指点一下..... |
|