mirror of
https://github.com/RGBCube/serenity
synced 2025-05-31 13:38:11 +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:
parent
627f258c97
commit
dca6a77669
1 changed files with 5 additions and 4 deletions
|
@ -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");
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue