This is the mail archive of the
gdb@sourceware.org
mailing list for the GDB project.
How to get the register order in GDB - 4 questions
- From: "Vardhana, Ananda" <ananda dot vardhana at intel dot com>
- To: "gdb at sourceware dot org" <gdb at sourceware dot org>
- Date: Mon, 16 Jun 2014 21:45:34 +0000
- Subject: How to get the register order in GDB - 4 questions
- Authentication-results: sourceware.org; auth=none
Please note the GDB transaction below [gdb0 info] display is from the server side. How to do you map these numbers to the register names? Like rax = so & so, rbx = so & so et c...
Question 1:
[gdb0 info] g = read registers (current thread = 0)
[gdb0 info] Sending packet: "600300000000000004000000000000007500000000000000fd038afe00000000d49e8afe00000000d49e8afe00000000849a8afe00000000809a8afe00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003b05f3ff000000000200000010000000100000001000000010000000"
Question 2:
My guess is when I make the qSupported query or the qxfer query the server is supposed to send me the correct order but my server does not. I am a client developer so what should I do?
[gdb0 info] got message: "qSupported:multiprocess+;xmlRegisters=i386;qRelocInsn+"
[gdb0 info] q = general query
[gdb0 unimpl] qSupported GDB feature: "multiprocess+" (ignoring)
[gdb0 unimpl] qSupported GDB feature: "xmlRegisters=i386" (ignoring)
[gdb0 unimpl] qSupported GDB feature: "qRelocInsn+" (ignoring)
[gdb0 info] arch name is i386:x86-64
[gdb0 info] Sending packet: "ReverseStep+;ReverseContinue+;qXfer:features:read+"
[gdb0 info] got message: "Hg0"
[gdb0 info] Hg = last signal, thread used in other operations
[gdb0 info] Sending packet: "OK"
[gdb0 info] got message: "qXfer:features:read:target.xml:0,283"
[gdb0 info] q = general query
[gdb0 info] arch name is i386:x86-64
[gdb0 info] Sending packet: "m<target version="1.0"> <architecture>i386:x86-64</architecture></target>"
[gdb0 info] got message: "qXfer:features:read:target.xml:4c,283"
[gdb0 info] q = general query
[gdb0 info] arch name is i386:x86-64
[gdb0 info] Sending packet: "l"
[gdb0 info] got message: "qTStatus"
Question 3:
I further suspect target.xml is the "xml file" on the server side which has the register layout, am I right? If so how can I get it?
Question 4:
There is 0,283 and 4c,283 as you can see. What is the significance of those numbers? It appears like a starting address and for a length of 283. Why 283 from where did this number come?
Thanks
Ananda