[Lldb-commits] [lldb] [LLDB][Telemetry]Define TargetInfo for collecting data about a target (PR #127834)
Pavel Labath via lldb-commits
lldb-commits at lists.llvm.org
Thu Mar 20 01:17:58 PDT 2025
================
@@ -1064,6 +1065,29 @@ const char *Process::GetExitDescription() {
bool Process::SetExitStatus(int status, llvm::StringRef exit_string) {
// Use a mutex to protect setting the exit status.
std::lock_guard<std::mutex> guard(m_exit_status_mutex);
+ telemetry::ScopedDispatcher<telemetry::ProcessExitInfo> helper;
+
+ // Find the executable-module's UUID, if available.
+ UUID exec_uuid;
+ // Check if there is (still) a valid target and get the debugger and exec_uuid
+ // from it.
+ TargetSP target_sp(Debugger::FindTargetWithProcessID(m_pid));
+ if (target_sp) {
+ helper.SetDebugger(&(target_sp->GetDebugger()));
+ exec_uuid = target_sp->GetExecModuleUUID();
----------------
labath wrote:
That sort of makes sense. The target would not be available if it was already being destroyed. However, `Debugger::FindTargetWithProcessID` is still a very roundabout way to check for target validity. You should be able to achieve the same thing with:
```
if (TargetSP target_sp = m_target_wp.lock()) {
...
}
```
https://github.com/llvm/llvm-project/pull/127834
More information about the lldb-commits
mailing list