Could not use "record btrace" even if I have Intel PT hardware feature

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Could not use "record btrace" even if I have Intel PT hardware feature

慕冬亮
Dear all,

I encounter one problem when I try to leverage Intel PT to do branch tracing.

My cpu has Intel PT feature via "grep intel_pt /proc/cpuinfo".

$ grep intel_pt /proc/cpuinfo

flags : ...intel_pt...


$ gdb simple
.......
(gdb) b main
Breakpoint 1 at 0x40050c
(gdb) r
Starting program: .../Work/Projects/simple

Breakpoint 1, 0x000000000040050c in main ()
(gdb) record btrace
Target does not support branch tracing.
(gdb) record btrace pt
GDB does not support Intel Processor Trace.


--
My best regards to you.

     No System Is Safe!
     Dongliang Mu
Reply | Threaded
Open this post in threaded view
|

RE: Could not use "record btrace" even if I have Intel PT hardware feature

Metzger, Markus T
> -----Original Message-----
> From: [hidden email] [mailto:[hidden email]] On
> Behalf Of ???
> Sent: Tuesday, September 6, 2016 4:37 PM
> To: [hidden email]
> Subject: Could not use "record btrace" even if I have Intel PT hardware feature

Hello Dongliang,

> I encounter one problem when I try to leverage Intel PT to do branch tracing.
>
> My cpu has Intel PT feature via "grep intel_pt /proc/cpuinfo".
>
> $ grep intel_pt /proc/cpuinfo
>
> flags : ...intel_pt...
>
>
> $ gdb simple
> .......
> (gdb) b main
> Breakpoint 1 at 0x40050c
> (gdb) r
> Starting program: .../Work/Projects/simple
>
> Breakpoint 1, 0x000000000040050c in main ()
> (gdb) record btrace
> Target does not support branch tracing.
> (gdb) record btrace pt
> GDB does not support Intel Processor Trace.

You need a kernel that supports it (4.1+) and you need a GDB that supports it.

Newer Linux distributions should already provide GDB with Intel PT support.  If
your distribution doesn't or if you want to build GDB yourself, please configure
it with "--with-intel-pt".

If your Linux distribution does not provide libipt(-devel), you may need to
build it yourself.  You can get the sources from here:
  https://github.com/01org/processor-trace.

You may also need to configure GDB with "--with-libipt-prefix=<path-to-libipt>"
if you don't (want to) install libipt in a standard place.

You may further need to install kernel headers - GDB needs
/usr/include/linux/perf_event.h.

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
Reply | Threaded
Open this post in threaded view
|

Re: Could not use "record btrace" even if I have Intel PT hardware feature

慕冬亮
--
My best regards to you.

     No System Is Safe!
     Dongliang Mu


2016-09-06 10:59 GMT-04:00 Metzger, Markus T <[hidden email]>:

>> -----Original Message-----
>> From: [hidden email] [mailto:[hidden email]] On
>> Behalf Of ???
>> Sent: Tuesday, September 6, 2016 4:37 PM
>> To: [hidden email]
>> Subject: Could not use "record btrace" even if I have Intel PT hardware feature
>
> Hello Dongliang,
>
>> I encounter one problem when I try to leverage Intel PT to do branch tracing.
>>
>> My cpu has Intel PT feature via "grep intel_pt /proc/cpuinfo".
>>
>> $ grep intel_pt /proc/cpuinfo
>>
>> flags : ...intel_pt...
>>
>>
>> $ gdb simple
>> .......
>> (gdb) b main
>> Breakpoint 1 at 0x40050c
>> (gdb) r
>> Starting program: .../Work/Projects/simple
>>
>> Breakpoint 1, 0x000000000040050c in main ()
>> (gdb) record btrace
>> Target does not support branch tracing.
>> (gdb) record btrace pt
>> GDB does not support Intel Processor Trace.
>
> You need a kernel that supports it (4.1+) and you need a GDB that supports it.

I am using Debian Testing with linux kernel 4.6.0-1 and gdb 7.11.1-2

>
> Newer Linux distributions should already provide GDB with Intel PT support.  If
> your distribution doesn't or if you want to build GDB yourself, please configure
> it with "--with-intel-pt".
>

I have installed libipt-dev and libipt1 packages.

> If your Linux distribution does not provide libipt(-devel), you may need to
> build it yourself.  You can get the sources from here:
>   https://github.com/01org/processor-trace.
>
> You may also need to configure GDB with "--with-libipt-prefix=<path-to-libipt>"
> if you don't (want to) install libipt in a standard place.
>
> You may further need to install kernel headers - GDB needs
> /usr/include/linux/perf_event.h.
>

And I have checked the existence of /usr/include/linux/perf_event.h.

Should I reboot my Debian to make kernel module for Intel PT effective?

> 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