Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WIP: Adding a GDB Server #131

Draft
wants to merge 17 commits into
base: master
Choose a base branch
from

Conversation

nacnud-sco
Copy link

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
Copy link
Author

nacnud-sco commented May 5, 2024

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
Copy link
Author

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
Copy link
Author

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

@nacnud-sco nacnud-sco reopened this May 6, 2024
@chrisn
Copy link
Collaborator

chrisn commented May 6, 2024

Thank you!

mark-usher and others added 15 commits May 8, 2024 22:41
…d local memory buffers to test the protocol. Seems to be talking to a GDB client. That's nice. But the client just thinks that we're 64bit Intel! haha Really need to fix up the unhandled qsupported stuff.
…So we can use x86 clients. Just that A = eax, X = ecx, Y = edx, SP = esp, PC = eip and SR = eflags. It could just work :D
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants