Thread with 7 posts
jump to expanded postthe next release of touchHLE will have a new feature that 99.9% of users will never have a use for, but which will hopefully save me a lot of time/effort/suffering/tears in future
I implemented the GDB Remote Serial Protocol :3
https://github.com/hikari-no-yume/touchHLE/commit/00aa841ec2c12c94c6194adf64432ec10a404f93
here’s my review of the GDB Remote Serial Protocol, having implemented a small subset of it:
it’s… fine. the docs lack a few details, but you can figure them out from reading the GDB source code and from seeing how GDB responds to your packets. I’m glad it’s all ASCII.
I’m also glad it gracefully degrades. it assumes only the absolute minimum feature set. every single modern fancy feature is optional, because it’ll query or probe for support before trying to use those.
well… GDB will, at least. LLDB is another story ^^;;;;
I really appreciate that GDB hasn’t removed support for the deprecated way of doing multi-threading, because I think the modern way would be a pain to implement for me.
and now I found a (very annoying) GDB bug lol https://sourceware.org/bugzilla/show_bug.cgi?id=30234
@hikari Huh, so this behavior is a bug after all...
@_C arguably it’s not a bug but a missing feature, but without printing out a warning message, it’s hard for the user to know the intent
@hikari Ah. Damn, that's even worse. I don't understand how whoever worked on the asm layout didn't realize looking at what came before the current instruction is actually useful to diagnose problems. I lost count of how many times I had to rerun things just so I could set a breakpoint a few instructions before a crash. At least it seems it'll get fixed, so yay :)