eteran / edb-debugger

edb is a cross-platform AArch32/x86/x86-64 debugger.
GNU General Public License v2.0
2.66k stars 321 forks source link

Debugger doesn't respect Signal Ignore Preferences #819

Closed AaronOpfer closed 2 years ago

AaronOpfer commented 2 years ago

Despite configuring preferences like so:

image

edb does not pass through signals to the debuggee, and instead pauses the program.

image

Reproduction steps:

AaronOpfer commented 2 years ago

Fixing this may be as simple as adding return null_ptr here: https://github.com/eteran/edb-debugger/blob/master/plugins/DebuggerCore/unix/linux/DebuggerCore.cpp#L535

eteran commented 2 years ago

@AaronOpfer Hmm, interesting. So it seems like we are continuing the process with the appropriate signal code, but are still delivering the event to the other layers.

We'll have to make sure that the calling code is appropriately tolerant of nullptr's, but the solution may be that simple. Have you tried it at all with success?

AaronOpfer commented 2 years ago

Yes, it seems like adding that return statement fixes the problem.

eteran commented 2 years ago

Fixed pushed. I confirmed that we actually safely return nullptr elsewhere from this function, so we can assume it is safe to do so where you recommended.