Depends on D88841
As per the discussion in the RFC, we'll implement both
thread trace dump [instructions | functions]
This is the first step in implementing the "instructions" dumping command.
It includes:
- A minimal ProcessTrace plugin for representing processes from a trace file. I noticed that it was a required step to mimic how core-based processes are initialized, e.g. ProcessElfCore and ProcessMinidump. I haven't had the need to create ThreadTrace yet, though. So far HistoryThread seems good enough.
- The command handling itself in CommandObjectThread, which outputs a placeholder text instead of the actual instructions. I'll do that part in the next diff.
- Tests
{F13132325}
Differential Revision: https://reviews.llvm.org/D88769
36 lines
656 B
JSON
36 lines
656 B
JSON
{
|
|
"trace": {
|
|
"type": "intel-pt",
|
|
"pt_cpu": {
|
|
"vendor": "intel",
|
|
"family": 6,
|
|
"model": 79,
|
|
"stepping": 1
|
|
}
|
|
},
|
|
"processes": [
|
|
{
|
|
"pid": 1234,
|
|
"triple": "x86_64-*-linux",
|
|
"threads": [
|
|
{
|
|
"tid": 3842849,
|
|
"traceFile": "3842849.trace"
|
|
},
|
|
{
|
|
"tid": 3842850,
|
|
"traceFile": "3842849.trace"
|
|
}
|
|
],
|
|
"modules": [
|
|
{
|
|
"file": "a.out",
|
|
"systemPath": "a.out",
|
|
"loadAddress": "0x0000000000400000",
|
|
"uuid": "6AA9A4E2-6F28-2F33-377D-59FECE874C71-5B41261A"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|