RE: How to show instructions in one record

Metzger, Markus T
2016-09-06T14:59:50Z

> -----Original Message-----
> From: gdb-owner@sourceware.org [mailto:gdb-owner@sourceware.org] On
> Behalf Of ???
> Sent: Tuesday, September 6, 2016 4:14 PM
> To: gdb@sourceware.org
> Subject: How to show instructions in one record

Hello Dongliang,

> I encounter the following problem when I show instructions in one record,
>
> (gdb) b main
> Breakpoint 1 at 0x80483f3: file simple.c, line 7.
> (gdb) r
> Starting program: /home/vagrant/simple/simple
>
> Breakpoint 1, main (argc=1, argv=0xbffff7a4) at simple.c:7
> 7 crash = buff;
> (gdb) record
> (gdb) c
> Continuing.
>
> Program received signal SIGSEGV, Segmentation fault.
> 0x08048420 in main (argc=1, argv=0xbffff7a4) at simple.c:10
> 10 for (p=buff,q=argv[1];(*q);p++,q++)
> (gdb) record
> btrace full goto
> save
> delete function-call-history instruction-history
> stop
> (gdb) record instruction-history
> You can't do that when your target is `record-full'
>
> Then I try "record-core", the same result.
> At last, I try "record-btrace", my system does not support branch tracing.
> So how to show instructions in one record?

The "record instruction-history" and "record function-call-history" commands
are only available for "record btrace" (and "record bts" and "record pt").

If you are using "record full" (or just "record"), you may use the "disassemble"
command to disassemble the current function and the "reverse-stepi" command
to step backwards through the recorded instructions.

Regards,
Markus.

Intel Deutschland GmbH
Registered Address: Am Campeon 10-12, 85579 Neubiberg, Germany
Tel: +49 89 99 8853-0, www.intel.de
Managing Directors: Christin Eisenschmid, Christian Lamprechter
Chairperson of the Supervisory Board: Nicole Lau
Registered Office: Munich
Commercial Register: Amtsgericht Muenchen HRB 186928