You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
124 lines
4.4 KiB
124 lines
4.4 KiB
****************************************************************************
|
|
* README *
|
|
* *
|
|
* This file provides all the information regarding 4 new CLI commands that *
|
|
* enable using Intel(R) Processor Trace Tool from LLDB's CLI. *
|
|
****************************************************************************
|
|
|
|
|
|
============
|
|
Introduction
|
|
============
|
|
A C++ based cli wrapper has been developed to use Intel(R) Processor Trace Tool
|
|
through LLDB's command line. This also provides an idea to all developers on how
|
|
to integrate the Tool into various IDEs providing LLDB as a debugger.
|
|
|
|
|
|
|
|
============
|
|
How to Build
|
|
============
|
|
The wrapper cli-wrapper-pt.cpp needs to be compiled and linked with the shared
|
|
library of the Intel(R) Processor Trace Tool in order to be used through LLDB's
|
|
CLI. The procedure to build shared library of the Intel(R) Processor Trace Tool
|
|
is given in README_TOOL.txt file.
|
|
|
|
|
|
|
|
============
|
|
How to Use
|
|
============
|
|
All these commands are available via shared library (lldbIntelFeatures)
|
|
obtained after building intel-features folder from top. Please refer to
|
|
cli-wrapper.cpp and README files of "intel-features" folder for this purpose.
|
|
|
|
|
|
|
|
============
|
|
Description
|
|
============
|
|
4 CLI commands have been designed keeping the LLDB's existing CLI command syntax
|
|
in mind.
|
|
|
|
1) processor-trace start [-b <buffer-size>] [<thread-index>]
|
|
|
|
Start Intel(R) Processor Trace on a specific thread or on the whole process
|
|
|
|
Syntax: processor-trace start <cmd-options>
|
|
|
|
cmd-options Usage:
|
|
processor-trace start [-b <buffer-size>] [<thread-index>]
|
|
|
|
-b <buffer-size>
|
|
size of the trace buffer to store the trace data. If not specified
|
|
then a default value (=4KB) will be taken
|
|
|
|
<thread-index>
|
|
thread index of the thread. If no threads are specified, currently
|
|
selected thread is taken. Use the thread-index 'all' to start
|
|
tracing the whole process
|
|
|
|
|
|
|
|
2) processor-trace stop [<thread-index>]
|
|
|
|
Stop Intel(R) Processor Trace on a specific thread or on the whole process
|
|
|
|
Syntax: processor-trace stop <cmd-options>
|
|
|
|
cmd-options Usage:
|
|
processor-trace stop [<thread-index>]
|
|
|
|
<thread-index>
|
|
thread index of the thread. If no threads are specified, currently
|
|
selected thread is taken. Use the thread-index 'all' to stop
|
|
tracing the whole process
|
|
|
|
|
|
|
|
3) processor-trace show-trace-options [<thread-index>]
|
|
|
|
Display all the information regarding Intel(R) Processor Trace for a specific
|
|
thread or for the whole process. The information contains trace buffer
|
|
size and configuration options of Intel(R) Processor Trace.
|
|
|
|
Syntax: processor-trace show-trace-options <cmd-options>
|
|
|
|
cmd-options Usage:
|
|
processor-trace show-trace-options [<thread-index>]
|
|
|
|
<thread-index>
|
|
thread index of the thread. If no threads are specified, currently
|
|
selected thread is taken. Use the thread-index 'all' to display
|
|
information for all threads of the process
|
|
|
|
|
|
|
|
4) processor-trace show-instr-log [-o <offset>] [-c <count>] [<thread-index>]
|
|
|
|
Display a log of assembly instructions executed for a specific thread or
|
|
for the whole process. The length of the log to be displayed and the
|
|
offset in the whole instruction log from where the log needs to be
|
|
displayed can also be provided. The offset is counted from the end of this
|
|
whole instruction log which means the last executed instruction is at
|
|
offset 0 (zero).
|
|
|
|
Syntax: processor-trace show-instr-log <cmd-options>
|
|
|
|
cmd-options Usage:
|
|
processor-trace show-instr-log [-o <offset>] [-c <count>] [<thread-index>]
|
|
|
|
-c <count>
|
|
number of instructions to be displayed. If not specified then a
|
|
default value (=10) will be taken
|
|
|
|
-o <offset>
|
|
offset in the whole instruction log from where the log will be
|
|
displayed. If not specified then default value is calculated as
|
|
offset = count -1
|
|
|
|
<thread-index>
|
|
thread index of the thread. If no threads are specified, currently
|
|
selected thread is taken. Use the thread-index 'all' to show
|
|
instruction log for all the threads of the process
|