1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-26 04:37:44 +00:00

Profiler: Add some helpful debug output if a process is missing

I've had a couple of instances where a profile was missing process
creation events for a PID. I don't know how to reproduce it yet,
so this patch merely adds a helpful debug message so you know why
Profiler is failing to load the file.
This commit is contained in:
Andreas Kling 2021-05-22 22:21:56 +02:00
parent cefb321da4
commit 863ac3af97

View file

@ -62,12 +62,16 @@ void Profile::rebuild_tree()
Vector<NonnullRefPtr<ProfileNode>> roots;
auto find_or_create_process_node = [this, &roots](pid_t pid, u64 timestamp) -> ProfileNode& {
auto& process = *find_process(pid, timestamp);
auto* process = find_process(pid, timestamp);
if (!process) {
dbgln("Profile contains event for unknown process with pid={}, timestamp={}", pid, timestamp);
VERIFY_NOT_REACHED();
}
for (auto root : roots) {
if (&root->process() == &process)
if (&root->process() == process)
return root;
}
auto new_root = ProfileNode::create_process_node(process);
auto new_root = ProfileNode::create_process_node(*process);
roots.append(new_root);
return new_root;
};