This is a workaround for a bug in the OTP interpreter, which causes breakpoints to stay active, even after they are removed by the user via the UI, for existing processes.
This makes removing breakpoints a very confusing experience, especially in presence of recursive functions, where the only option left to the user is to interrupt and restart the debugging session.
In this PR:
Created a test-case which highlights the issue (the test would time out before the fix)
Ensure the breakpoints are purged on a new setBreakpoints call
Add helper function to wait for processes to resume regular operation
Description
This is a workaround for a bug in the OTP interpreter, which causes breakpoints to stay active, even after they are removed by the user via the UI, for existing processes.
This makes removing breakpoints a very confusing experience, especially in presence of recursive functions, where the only option left to the user is to interrupt and restart the debugging session.
In this PR:
setBreakpoints
call