mirror of
https://github.com/fergalmoran/ladybird.git
synced 2026-02-25 09:04:53 +00:00
LibDebug: Fix DebugSession teardown
Previously, we were trying to remove the breakpoints we set on the debugee even if it has already exited, which caused PT_POKE to fail.
This commit is contained in:
@@ -45,15 +45,16 @@ NonnullOwnPtr<const MappedFile> DebugSession::initialize_executable_mapped_file(
|
||||
|
||||
DebugSession::~DebugSession()
|
||||
{
|
||||
if (m_is_debugee_dead)
|
||||
return;
|
||||
|
||||
for (const auto& bp : m_breakpoints) {
|
||||
disable_breakpoint(bp.key);
|
||||
}
|
||||
m_breakpoints.clear();
|
||||
|
||||
if (!m_is_debugee_dead) {
|
||||
if (ptrace(PT_DETACH, m_debugee_pid, 0, 0) < 0) {
|
||||
perror("PT_DETACH");
|
||||
}
|
||||
if (ptrace(PT_DETACH, m_debugee_pid, 0, 0) < 0) {
|
||||
perror("PT_DETACH");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user