walter-erquinigo wrote:
> At least one test fails: `./bin/lldb -o 'trace load -v
> /llvm/lldb/test/API/commands/trace/intelpt-trace/trace_2threads.json'`
> crashes with an assertion failure on TraceIntelPTBundleLoader.cpp:127
> (`*process_sp` is a null pointer dereference).
>
> Do you know why `process_sp` would be null in this case? I added some extra
> assertions and it looks like `target_sp->m_process_sp` is null after the call
> to `ProcessTrace::CreateInstance` on line 111.
It seems that the issue is that we still need to make `Target::m_process_sp`
point to the newly created process...
So, let's give something else a try:
Return that code to its original form
```
ProcessSP process_sp = target_sp->CreateProcess(
/*listener*/ nullptr, "trace",
/*crash_file*/ nullptr,
/*can_connect*/ false);
```
If that passes the test, then there's nothing else to do and we are good to go.
If that doesn't work, then we need to additional add the line
`LLDB_PLUGIN_DEFINE(ProcessTrace)` before any function declaration in the
ProcessTrace.cpp file. That `LLDB_PLUGIN_DEFINE` define will register the
ProcessTrace process plugin with that "trace", which will be searchable by
`target_sp->CreateProcess`, who is looking for a trace process called "trace".
https://github.com/llvm/llvm-project/pull/77252
_______________________________________________
lldb-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits