Open escape209 opened 3 years ago
Can this be checked on latest nightly? :)
Checked on latest nightly, still appears to be an issue. The symbols are interpreted fine in Ghidra using the ghidra-emotionengine-reloaded extension.
https://github.com/PCSX2/pcsx2/blob/3e225d78fafe9ef04717b94e1c68c14356468e4a/pcsx2/DebugTools/MIPSAnalyst.cpp#L121 Looks like this is the default function name in the MIPS analysis tool. It's only called once, and that's in the ScanForFunctions function.
Looking at this further, I 100% agree there are addresses which are falsely detected as functions and then given the default name (in this case, this was taken in ATV: Offroad Fury).
I don't see any reason why the function analyzer should be creating functions there. Which leads me to suspect that the game is either dynamically swapping code in and out, or the "main" game is actually a different ELF than the SLUS/SLES/etc that is first loaded. This is related to #2065, which I tried to fix when adding the refresh option to the function listing. Can someone see if the issue persists with #10224?
Describe the bug In the Functions tab of the Debug Window, there are/may be several incorrect function symbols added, all with the naming scheme![image](https://user-images.githubusercontent.com/8225831/102687231-80412000-41e5-11eb-9460-fcc4ce7a169c.png)
z_un_[memory address]
. These false positives cause correct symbols to not be listed as they are considered to be a part of the incorrectly detected, non-existent function.In the above case, the symbol
GetCrashWind__13CB4StageLogic13ERaceCarIndex
comes after the incorrect symbolz_un_004339f0
, which causes the latter to be listed in the Functions list instead of the former.To Reproduce
815B946C
.z_un_[memory address]
.Expected behavior
Expected the correct function listings to appear in the list instead of the incorrect ones. Because of this issue, hundreds of correct symbols do not appear in the list as they should.
A temporary workaround is to simply right click the incorrect function and click "Remove Function", then right click the correct one and click "Add Function Here." For such a huge number of these functions, though, this is clearly infeasible.
GS Settings
N/A
Emulation Settings
N/A
GS Window Screenshots
N/A
System Info (please complete the following information):
Logs and Dumps
B4EXTERN.MAP.txt
The game's .map file.