stardot / beebem-windows

BBC micro emulator for Windows
http://www.mkw.me.uk/beebem/
Other
90 stars 36 forks source link

WIP: Adding a GDB Server #131

Open nacnud-sco opened 7 months ago

nacnud-sco commented 7 months ago

This is very much WORK IN PROGRESS.

Hopes.

  1. To be able to run a GDB server.
  2. To be able to do that before the heat death of the universe.

This should not be considered any kind of patch. It is a WIP version of code that may get to a place where it can be a viable patch.

TODO:

  1. Update the "control interface" functions to do stuff. Where "stuff" includes moving them to their own header / cpp files.
  2. Find a way to actually run gdb on a platform that I'd want to use this server on.
  3. Integrate the server into the code base in such a way that makes sense.
  4. Debug Arcadians. https://bbcmicro.co.uk/game.php?id=20

Hopefully this generates some conversation.

nacnud-sco commented 7 months ago

Not sure how to sync this WIP PR with the latest on the branch. Anyway, the branch now starts a server on a port and gets its first

"qSupported:multiprocess+;swbreak+;hwbreak+;qRelocInsn+;fork-events+;vfork-events+;exec-events+;vContSupported+;QThreadEvents+;no-resumed+;memory-tagging+;xmlRegisters=i386"

string from the remote debugger. Now, this could highlight that I need to find a GDB instance that supports the 6502 :D That could be a whole other kettle of sardines.

I should note that I used MinGW to get a gdb instance that I could type.

`target remote localhost:17091"

To get that string to appear on the "server".

I am still really not sure any of that will work. You can find the latest branch here: https://github.com/nacnud-sco/beebem-windows/tree/duncan/gdb_server

nacnud-sco commented 7 months ago

Closing due to re-sync / master confusion. I'll open another one, if I can work out how to keep it "up to date".

nacnud-sco commented 7 months ago

Right. This is all rebased and up-to-date now. That up-to-date thing was a DFU issue.

chrisn commented 7 months ago

Thank you!