Позвольте еще один вопрос касательно GDB.
Собрал gdbserver для uCLinux на LPC2468 при помощи такой-то матери, запускается, пишет:
Код
# /mnt/mmc/gdbserver 192.168.200.3:1234 /mnt/mmc/main
Process /mnt/mmc/main created; pid = 62
Listening on port 1234
Запускаю arm-elf-gdb (из дистрибутива kgp_arm-bu2.18.50.20080115_gcc4.3.0.20080111_newlib1.16.0.20080115_gdb6.7.50.20080108 либо свой собранный под cygwin - без разницы):
Код
This GDB was configured as "--host=i686-pc-mingw32 --target=arm-elf".
(gdb) file D:\\main.gdb
Reading symbols from D:\main.gdb...done.
(gdb) target remote 192.168.200.100:1234
Ответ:
Код
Remote debugging using 192.168.200.100:1234
warning: Remote failure reply: E01
0xa02a0050 in ?? ()
(gdb) step
Remote communication error: Bad file descriptor.
Cannot find bounds of current function
(gdb)
Терминал LPC:
Код
Remote debugging from host 192.168.200.3
<1>Unhandled fault: alignment exception (0x5000001) at 0xa1d13eec
Internal error: Oops: 0 [#3]
Modules linked in: spi rtc sfr pwm i2c adc lpc2468mmc lpc2468eth
CPU: 0
pc : [<a0055f18>] lr : [<00000000>] Not tainted
sp : a1d13eec ip : 9ede1000 fp : a1d13f0c
r10: a1d36820 r9 : 00000000 r8 : a01d09e4
r7 : a01d097c r6 : a1d13f2c r5 : a1d13f28 r4 : 00000001
r3 : a0000093 r2 : 00000000 r1 : a0000013 r0 : 00000000
Flags: NzCv IRQs off FIQs on Mode SVC_32 Segment user
Process gdbserver (pid: 61, stack limit = 0xa1d12194)
Stack: (0xa1d13eec to 0xa1d14000)
3ee0: a1d37dec a1d13f64 00000004 00000000 a1d37dc0
3f00: a1d13f58 a1d13f10 a0035a34 a0055ec8 00000000 00000001 a1d13f2c a1d13f28
3f20: a1d37dec a1d13f64 a01d09ec 9ede1000 a1d36820 a1d36820 00000001 00000000
3f40: 0000003e a1c5fe88 00000000 a1d13f78 a1d13f5c a001e4a8 a0035908 00000000
3f60: a1c5fe88 a1d12000 a1d12000 a1d13fa4 a1d13f7c a001e7c4 a001e40c 00000001
3f80: 00000000 00000001 0000001a a001b800 a1d12000 00000000 00000000 a1d13fa8
3fa0: a001b680 a001e6b0 00000001 a002a8ec 00000001 0000003e 00000000 a1c5fe88
3fc0: 00000001 00000000 00000001 00000000 00000000 00000000 00000000 a1c5fee0
3fe0: 00000000 a1c5fe80 a1c4b6d8 a1c4b684 80000010 00000001 ffffffff ffffffff
Backtrace:
Function entered at [<a0055eb8>] from [<a0035a34>]
r8 = A1D37DC0 r7 = 00000000 r6 = 00000004 r5 = A1D13F64
r4 = A1D37DEC
Function entered at [<a00358f8>] from [<a001e4a8>]
Function entered at [<a001e3fc>] from [<a001e7c4>]
r4 = A1D12000
Function entered at [<a001e6a0>] from [<a001b680>]
Code: 0a000006 e10f1000 e3813080 e121f003 (e59c2004)
SIGSEGV
#
Соответственно, адекватно работает только команда "continue".
Вопрос: что делаю неправильно? в чем может быть проблема?