* What function of gdbserver handle g_packet send from gdb
@ 2015-01-27 9:25 fei ding
2015-01-28 18:46 ` Philippe Waroquiers
0 siblings, 1 reply; 2+ messages in thread
From: fei ding @ 2015-01-27 9:25 UTC (permalink / raw)
To: gdb
Hi, guys:
I'm tracing "set architecture xxx" command when using gdb/gdbserver,
and I've noticed that, every time we use "set architecture xxx", gdb
will re-read the registers, and if we use gdbserver/gdb, gdb will use
"fetch_register_using_g()" function to get remote's regs, and I cannot
find the function in the source code of gdbserver, which receive and
process g_packet. I've check the "process_serial_event()" in
gdbserver/server.c, and it just take care the "info reg" command every
time. Could anybody help me?
Thanks.
BR.
======
and here is some bt info in gdb(not gdbserver):
#0 regcache_raw_supply (regcache=0xe1eef0, regnum=0,
buf=0x7fffffffd8e0) at regcache.c:1003
==>!!!#1 0x000000000047b432 in process_g_packet (regcache=0xe1eef0)
at remote.c:6136
#2 0x000000000047b471 in fetch_registers_using_g (regcache=0xe1eef0)
at remote.c:6146
#3 0x000000000047b5b0 in remote_fetch_registers (ops=0xc71cc0,
regcache=0xe1eef0, regnum=16) at remote.c:6194
#4 0x00000000005cc668 in delegate_fetch_registers (self=0xc71cc0,
arg1=0xe1eef0, arg2=16) at target-delegates.c:73
#5 0x00000000005d547c in target_fetch_registers (regcache=0xe1eef0,
regno=16) at target.c:3255
#6 0x00000000005226f1 in regcache_raw_read (regcache=0xe1eef0,
regnum=16, buf=0xe342a0 "") at regcache.c:619
#7 0x0000000000522d88 in regcache_cooked_read (regcache=0xe1eef0,
regnum=16, buf=0xe342a0 "") at regcache.c:710
#8 0x0000000000523098 in regcache_cooked_read_value
(regcache=0xe1eef0, regnum=16) at regcache.c:772
#9 0x000000000068da3a in sentinel_frame_prev_register
(this_frame=0xd4ded0, this_prologue_cache=0xd4dee8, regnum=16) at
sentinel-frame.c:52
#10 0x00000000006b8ed9 in frame_unwind_register_value (frame=0xd4ded0,
regnum=16) at frame.c:1114
#11 0x00000000006b8aa2 in frame_register_unwind (frame=0xd4ded0,
regnum=16, optimizedp=0x7fffffffddc0, unavailablep=0x7fffffffddc4,
lvalp=0x7fffffffddcc,
addrp=0x7fffffffddb8, realnump=0x7fffffffddc8,
bufferp=0x7fffffffddf0 " \336\377\377\377\177") at frame.c:1019
#12 0x00000000006b8d81 in frame_unwind_register (frame=0xd4ded0,
regnum=16, buf=0x7fffffffddf0 " \336\377\377\377\177") at frame.c:1073
#13 0x000000000042b855 in i386_unwind_pc (gdbarch=0xe532b0,
next_frame=0xd4ded0) at i386-tdep.c:1945
#14 0x00000000005b33f9 in gdbarch_unwind_pc (gdbarch=0xe532b0,
next_frame=0xd4ded0) at gdbarch.c:2779
#15 0x00000000006b84d7 in frame_unwind_pc (this_frame=0xd4ded0) at frame.c:814
#16 0x00000000006bb1ad in get_frame_pc_if_available (frame=0xd4ded0,
pc=0x7fffffffded0) at frame.c:2237
#17 0x00000000006baf77 in get_prev_frame (this_frame=0xd4ded0) at frame.c:2136
#18 0x00000000006b9b44 in unwind_to_current_frame (ui_out=0xd681c0,
args=0xd4ded0) at frame.c:1450
#19 0x000000000059c51a in catch_exceptions_with_msg
(func_uiout=0xd681c0, func=0x6b9b28 <unwind_to_current_frame>,
func_args=0xd4ded0, gdberrmsg=0x0,
mask=RETURN_MASK_ERROR) at exceptions.c:458
#20 0x000000000059c49f in catch_exceptions (uiout=0xd681c0,
func=0x6b9b28 <unwind_to_current_frame>, func_args=0xd4ded0,
mask=RETURN_MASK_ERROR)
at exceptions.c:438
#21 0x00000000006b9d11 in get_current_frame () at frame.c:1492
#22 0x00000000006b9e6a in get_selected_frame (message=0x0) at frame.c:1547
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: What function of gdbserver handle g_packet send from gdb
2015-01-27 9:25 What function of gdbserver handle g_packet send from gdb fei ding
@ 2015-01-28 18:46 ` Philippe Waroquiers
0 siblings, 0 replies; 2+ messages in thread
From: Philippe Waroquiers @ 2015-01-28 18:46 UTC (permalink / raw)
To: fei ding; +Cc: gdb
On Tue, 2015-01-27 at 16:40 +0800, fei ding wrote:
> What function of gdbserver handle g_packet send from gdb
See file gdbserver/server.c,
function process_serial_event;
case 'g'
Philippe
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2015-01-27 20:05 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-01-27 9:25 What function of gdbserver handle g_packet send from gdb fei ding
2015-01-28 18:46 ` Philippe Waroquiers
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).