I've done some improvements to the callstack, it seems to be able to handle Zelda & MM1 properly now. Essentially, when it hits a RTS/RTI instruction, if the previous callstack info doesn't match the CPU's stack, it will try to find a matching callstack line & remove all the lines above it. If it can't find a matching line, it will add a new line to the callstack instead (and assume the code pushed an address to the stack and then called RTS to jump to it). Hopefully this takes care of most games - let me know if you still find issues with it.
I also changed the stack display to show more bytes (should show up to about 10 bytes now, instead of ~4) and fixed a bug that was causing it to display an extra byte in the list that wasn't supposed to be shown.
The build also has some fixes I mentioned earlier (e.g step out), some more improvements based on rainwarrior's feedback in the Mesen thread (customizable font, a few new buttons/options, a new pause icon for when the debugger is opened), and should also improveme emulation performance when debugging tools are opened by about 60-70% (on the windows build).
Build:
download
Yvar de Goffau wrote: a shame I can't get OSX to run mono!
I wish it was easier for me to try and make Mesen work on OSX - it's fairly likely it could be made to work without that much effort, unfortunately I don't own a Mac, and it sounds like trying to make OSX work in a VM would be a bit of a pain (plus I think you technically need to buy a Mac to have a license to use OSX?).
There is a way to highlight uninitialized variables at the moment (but it requires that the debugger be attached from the ROM's power on), but no way to break on them. Uninitialized memory is definitely one of the most common issues with homebrew though, so it might be worth trying to improve this a bit.
Cherry-picking variables to watch them can technically be done with the watch window, although it might be a little less "advanced" in some aspects to FCEUX's memory viewer (if that's what it was called).
It's already technically possible to edit code in PRG ROM with the built-in assembler, but I understand what you mean. What you're asking for would be essentially the same "Edit-and-Continue" in Visual Studio... and that feature doesn't work properly half the time in my experience, so I'm pretty confident it would be pretty hard/impossible to get it to work properly in this case :p