[BUG]: Debugger - Memory Search - Changed/Unchanged Search Filter Filters Out Addresses Improperly (When searching for a 4 Byte, Float, or Double value)
Describe the Bug
Changed/Unchanged Search Filter Filters Out Addresses Improperly (When searching for a 4 Byte, Float, or Double value)
Reproduction Steps
Start a Not Equal To (shown as 'Not Equals' in the Debugger) search with the Byte Type set to 4 Bytes (or Float/Double), and the starting value of 0 (workaround to do Unknown Value Searching as it is not implemented yet), then attempt multiple Changed/Unchanged filter searches while looking for something like the player's position.
Afterwards, the debugger will return a couple of addresses but it seems to fail to return addresses properly. Likely incorrectly filtering out what may as well have been the correct addresses.
Doing the same steps above, but instead doing a 2 byte search, appears to work a little better with the Changed\Unchanged searching.
Maybe it is something to do with the rate of how the Debugger is trying to return values, but is late in fetching addresses, causing some addresses to be filtered out incorrectly, or something else.
Expected Behavior
Debugger should properly return addresses when doing an Unchanged/Changed memory search without misfiltering results.
PCSX2 Revision
PCSX2 v2.3.40
Operating System
Linux (64bit) - Specify distro below
If Linux - Specify Distro
Linux Mint 22 Cinnamon - Wilma
Logs & Dumps
No response
Can you share any ACTUAL example of wrong result and expected result?
When attempting to find the player's XYZ position addresses:
https://github.com/user-attachments/assets/c864b137-1b49-4198-a801-e287c57fae43
Can you add some context? Like what is displayed wrongly / what is supposed to be shown
The debugger's functionality for changed/unchanged search types doesn't work properly, simply put.
Can't reproduce it at all. The changed/unchanged searching works fine on my machine.
Still not working for me.
(Fallout - Brotherhood of Steel, searching for XYZ position of player in memory)
4 Byte Hex:
https://github.com/user-attachments/assets/4f2fc2aa-f30f-4e19-a780-cd2154480603
4 Byte Decimal:
https://github.com/user-attachments/assets/95155369-0a74-44d0-97cd-3e27a3cb5460
Float:
https://github.com/user-attachments/assets/18eced88-673f-45db-9b70-5e31333771b6
It either fetches the wrong addresses or doesn't fetch any at all.
@Berylskid is wrong. Anyone who actively uses the debugger, recognizes that the search functionality is broken. It's very... well, 'fickle'.
Whether it's Linux only or if it also affects other operating systems, one thing's for sure; the debuggers changed/unchanged search functionality is broken.
Can you see if the builds from #12812 behave more as you expect?