mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-04-23 21:15:14 +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
Notes:
sideshowbarker
2024-07-19 03:36:49 +09:00
Author: https://github.com/itamar8910 Commit: https://github.com/SerenityOS/serenity/commit/dca6a776691 Pull-request: https://github.com/SerenityOS/serenity/pull/3153 Issue: https://github.com/SerenityOS/serenity/issues/3152 Reviewed-by: https://github.com/awesomekling
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
Reference in a new issue