mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 03:57:43 +00:00
Profiler: Split the call tree into one subtree per process
This patch adds an additional level of hierarchy to the call tree: Every process gets its own top-level node. :^) Before this, selecting multiple processes would get quite confusing as all the call stacks from different processes were combined together into one big tree.
This commit is contained in:
parent
65a341b82f
commit
8a5c78e93b
5 changed files with 49 additions and 27 deletions
|
@ -50,12 +50,8 @@ DisassemblyModel::DisassemblyModel(Profile& profile, ProfileNode& node)
|
|||
kernel_elf = make<ELF::Image>((const u8*)m_kernel_file->data(), m_kernel_file->size());
|
||||
elf = kernel_elf.ptr();
|
||||
} else {
|
||||
auto process = node.process(profile, node.timestamp());
|
||||
if (!process) {
|
||||
dbgln("no process for address {:p}", node.address());
|
||||
return;
|
||||
}
|
||||
auto library_data = process->library_metadata.library_containing(node.address());
|
||||
auto& process = node.process();
|
||||
auto library_data = process.library_metadata.library_containing(node.address());
|
||||
if (!library_data) {
|
||||
dbgln("no library data for address {:p}", node.address());
|
||||
return;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue