dolphin/Source/Core
Martino Fontana bd3cf67cbc Debugger: Rework temporary breakpoints
Before:
1. In theory there could be multiple, but in practice they were (manually) cleared before creating one
2. (Some of) the conditions to clear one were either to reach it, to create a new one (due to the point above), or to step. This created weird behavior: let's say you Step Over a `bl` (thus creating a temporary breakpoint on `pc+4`), and you reached a regular breakpoint inside the `bl`. The temporary one would still be there: if you resumed, the emulation would still stop there, as a sort of Step Out. But, if before resuming, you made a Step, then it wouldn't do that.
3. The breakpoint widget had no idea concept of them, and will treat them as regular breakpoints. Also, they'll be shown only when the widget is updated in some other way, leading to more confusion.
4. Because only one breakpoint could exist per address, the creation of a temporary breakpoint on a top of a regular one would delete it and inherit its properties (e.g. being log-only). This could happen, for instance, if you Stepped Over a `bl` specifically, and pc+4 had a regular breakpoint.

Now there can only be one temporary breakpoint, which is automatically cleared whenever emulation is paused. So, removing some manual clearing from 1., and removing the weird behavior of 2. As it is stored in a separate variable, it won't be seen at all depending on the function used (fixing 3., and removing some checks in other places), and it won't replace a regular breakpoint, instead simply having priority (fixing 4.).
2024-07-05 21:33:22 +02:00
..
AudioCommon AudioCommon: unlock mutex explicitly to avoid -Wunused-result warning 2024-06-20 02:25:15 +01:00
Common ScmRevGen: Set commits ahead to zero when on a tag 2024-06-29 22:59:40 -04:00
Core Debugger: Rework temporary breakpoints 2024-07-05 21:33:22 +02:00
DiscIO Use a stub AchivementManager when USE_RETRO_ACHIEVEMENTS isn't defined 2024-06-06 08:26:20 +02:00
DolphinNoGUI TAS Input: Enable hotkeys and controller input when Input has focus 2024-05-31 15:14:44 -07:00
DolphinQt Debugger: Rework temporary breakpoints 2024-07-05 21:33:22 +02:00
DolphinTool Merge pull request #12815 from Dentomologist/enable_hotkeys_and_controllers_for_focused_tas_input 2024-06-15 15:25:40 +02:00
InputCommon Merge pull request #12850 from jordan-woyak/device-sorting 2024-06-15 21:12:08 +02:00
MacUpdater ScmRevGen: Generate Info.plist for MacUpdater 2024-04-21 13:28:21 -04:00
UICommon CMake: Let UICommon depend on Core 2024-06-15 23:12:19 +02:00
UpdaterCommon CMake: Use targets for all optionally-external dependencies 2023-06-15 01:41:41 -05:00
VideoBackends Migrate Vulkan-Headers to submodule and update to v1.3.288 2024-06-22 08:03:20 +02:00
VideoCommon Core/VideoCommon: Revert change from #12828 2024-06-23 03:44:05 +02:00
WinUpdater StringUtil: Move CommandLineToUtf8Argv() into Common namespace 2023-05-16 14:23:21 -04:00
CMakeLists.txt CMakeLists: Add option to disable automatic update support 2022-03-18 03:04:51 -04:00
DolphinLib.ARM64.props msbuild: use default Project attrs 2022-04-27 15:26:43 -07:00
DolphinLib.props Merge pull request #12798 from mitaclaw/branch-watch-tool-fixes-2 2024-06-15 16:57:05 +02:00
DolphinLib.vcxproj Externals: Convert minizip-ng To Submodule 2024-05-03 12:43:33 -07:00
DolphinLib.vcxproj.user msbuild: use default Project attrs 2022-04-27 15:26:43 -07:00
DolphinLib.x64.props Move x64 DSP JIT into DolphinLib.x64.props 2023-01-06 22:42:21 -08:00