mirror of
https://github.com/RGBCube/serenity
synced 2025-07-26 14:27:34 +00:00
LibCoreDump: Make for_each_thread_info() callback arg a reference
It's never nullptr, so it should be a reference.
This commit is contained in:
parent
87f1f69dd2
commit
21bc8cfe8f
2 changed files with 6 additions and 6 deletions
|
@ -134,11 +134,11 @@ static void backtrace(const String& coredump_path)
|
|||
{
|
||||
size_t thread_index = 0;
|
||||
auto coredump = CoreDump::Reader::create(coredump_path);
|
||||
coredump->for_each_thread_info([&thread_index, &coredump](const ELF::Core::ThreadInfo* thread_info) {
|
||||
dbgln("Backtrace for thread #{}, tid={}", thread_index++, thread_info->tid);
|
||||
coredump->for_each_thread_info([&thread_index, &coredump](const ELF::Core::ThreadInfo& thread_info) {
|
||||
dbgln("Backtrace for thread #{}, tid={}", thread_index++, thread_info.tid);
|
||||
|
||||
uint32_t* ebp = (uint32_t*)thread_info->regs.ebp;
|
||||
uint32_t* eip = (uint32_t*)thread_info->regs.eip;
|
||||
uint32_t* ebp = (uint32_t*)thread_info.regs.ebp;
|
||||
uint32_t* eip = (uint32_t*)thread_info.regs.eip;
|
||||
while (ebp && eip) {
|
||||
|
||||
auto line = backtrace_line(*coredump, (FlatPtr)eip);
|
||||
|
|
|
@ -94,8 +94,8 @@ void Reader::for_each_thread_info(Func func) const
|
|||
for (NotesEntryIterator it((const u8*)m_coredump_image.program_header(m_notes_segment_index).raw_data()); !it.at_end(); it.next()) {
|
||||
if (it.type() != ELF::Core::NotesEntryHeader::Type::ThreadInfo)
|
||||
continue;
|
||||
auto* region = (const ELF::Core::ThreadInfo*)(it.current());
|
||||
IterationDecision decision = func(region);
|
||||
auto& thread_info = reinterpret_cast<const ELF::Core::ThreadInfo&>(*it.current());
|
||||
IterationDecision decision = func(thread_info);
|
||||
if (decision == IterationDecision::Break)
|
||||
return;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue