Yes, I've been digging into Guilty Gear 2 again. It gives me something engaging to do while working on refactoring Astralathe, which is something that's been going VERY VERY SLOWLY because I basically have to force myself to do it. About halfway done with the first pass though, so that's something.
Anyway...
Guilty Gear 2 has a debug menu in it. Somewhere. And maybe a level editor.
Its existence is already known, there's at least one prototype of the game that boots into the debug menu but this prototype doesn't run in Xenia at all.
But the code for this screen and several others still exists in the game's executable. Where the prototype identified as "GGS for Xenon" built on March 24th, 2008, the current Windows build identifies as "GGS for Win32", with a build date of August 2nd, 2016.

Only problem is, I have no idea how to access it or how functional it might still be. There is one menu I've been able to access though.

This right here is the debug character select. I managed to locate the function that the game uses to create the different UI scenes. Each scene is identified by an ID. 1 is the "toploader", the ArcSys logo and loading screen. 3 is the title screen. And so on.
4 is usually the character select whereas this screen is 5. Here, I've just hijacked the function so that when it attempts to load scene 4, it'll instead load scene 5.
There's not really a lot you can do with this menu that you can't just do with the normal menu. The only additional option it presents is letting you force a specific voice set (characters all have 3 different sets of voice lines, and a set is usually chosen randomly at match start) as well as allowing you to use Ky without unlocking him. You can also set which side is a player and which side is a CPU.
Notably, Valentine is listed as "Tribe DeadElf". "Dead Elf" seems to be her internal name elsewhere as well and there's concept art out there that also gives her this label, so it seems likely this was her placeholder name during development.
Interestingly, an option for "Tribe (null)" is at the bottom of the list. Setting either side to this will crash the game after it's done loading, leaving you to wonder why it's even an option. Interestingly, based on the fact that screenshots of the prototype don't have this option, this "tribe" was added some time after that build.
You can actually set both sides to be CPUs and it actually works. Only issue is that without a master to follow the camera will be stuck, the game won't listen to any input other than pause, and you won't be able to actually spectate the fight. They do fight though. The UI will reflect the state of the left player.
If you try to play as the right player, it'll have a similar effect except you'll still have access to the organ. Of the left player. Which is also being controlled by the AI (though they don't seem to move their master)

Once you're done setting up the fight you move on to this deceptively primitive level select interface. Here each level is identified by numerical ID and a codename. All the levels in the game are selectable here. Most levels not designed for VS combat, such as LastBoss, will crash the game after the loading screen but there are exceptions. More on those in a followup later.

Pressing Y will open this screen with a lot of options and I've not entirely figured out what it's for. Presets of some kind?
I mentioned that this screen is deceptively primitive, it's actually got a lot of interesting options and I'm going to write an addendum post soon with a few of the interesting quirks I've found with it.
All in all, this is a fascinating glimpse into the game's debug functionality but it's a fraction of what's in there. I'd really like to figure out how the hell to enable the full set of debug tools, if they're all even still in there. Especially given how the code's teasing a level editor of some kind.
The debug menu code seems present at least, so it's not outright compiled out. But maybe the code that'd be originally intended to open it is? In which case, it'll be difficult to figure out how this code was intended to be called. This might end up being a real pain in the ass.