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

Advanced Debug Commands for Reverse Engineering Purposes #5371

Open
2 tasks done
rdv-dev opened this issue Jan 4, 2025 · 0 comments
Open
2 tasks done

Advanced Debug Commands for Reverse Engineering Purposes #5371

rdv-dev opened this issue Jan 4, 2025 · 0 comments

Comments

@rdv-dev
Copy link

rdv-dev commented Jan 4, 2025

Is your feature request related to a problem? Please describe.

I have written first draft commits which accomplish this, so the purpose of this issue/feature request is to see whether the dosbox-x maintainers/community are interested in something like this.

I'm reverse engineering a game where there are a series of functions whose arguments are constantly changing. Most of the arguments are passed via registers but some functions require a combination of registers and memory location set before the function is called.

I found the current set of commands lacking, where LOGC generally fits my needs, but what I'm looking for is to not type LOGC every time the Break Point occurs. Additionally, I would like to log the value of certain memory locations when the Break Point occurs, again MEMDUMP fills that purpose, but not at the scale I would like to run it. These functions could be called 30 - 50 times in a few minutes.

What you want

I'm looking for two features to be added to the Debug functionality .

  • Add new commands to indicate that implicit calls to LOGC and MEMDUMP occur once a Break Point is reached
  • Secondarily, add ability to save Break Points and Memory Break Points to file, similar to how the SV (Save Variables) command works. This also provides a name the breakpoint in the CPU dump file.

Describe alternatives you've considered

As I described above, LOGC and MEMDUMP accomplish the function of what I would like to do, just not at the scale I would like them to.

Short of "hooking" the game functions in some way, which I'm not sure how I would do, I'm unsure of how else to accomplish what I'm looking for.

Additional information

If there is interest in this feature, I'll create a pull request. I would like to rewrite the draft I've put together so far as it needs some polishing.

Have you checked that no similar feature request(s) exist?

  • I have searched and didn't find any similar feature request.

Code of Conduct & Contributing Guidelines

  • I agree to follow the code of conduct and the contributing guidelines.
rdv-dev pushed a commit to rdv-dev/dosbox-x that referenced this issue Jan 5, 2025
Add a debug feature where at every break point - physical or memory -
the current CPU instruction will be logged along with any memory break points.
This is connected to issue joncampbell123#5371
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant