microsoft / microsoft/MIEngine

Allow MIEngine to be used as a standalone library

Open
#995 0 comments 4 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C#
Stars
859
Forks
233
Avg merge
1d 6h
Merged PRs (30d)
3

Description

Hello

I was thinking it would be nice to be able to use MIEngine as a standalone library, decoupled from Visual Studio, to instrument gdb from C#.

Use cases could be: extending GDB with C# commands, automating debug actions, etc..
This could also be helpful for Linux and macOS environments.

The problem is that the MIEngine classes required to interact with gdb are often internal, and thus unusable from an external assembly.

I made some minor modifications to MIEngine here: https://github.com/smx-smx/MIEngine/tree/library, mostly related to class visibility.

Do you think this use case is feasible and could be supported in an official way?

I can provide a POC project if necessary, using MIEngine as-a-library to start gdb and run various tasks

Thanks

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the MIEngine classes described as internal and compare the visibility changes in the linked library branch. The issue names no repository files or tests; a complete contribution would need a defined standalone API, a decision on Visual Studio decoupling, and validation with the proposed C# proof of concept.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
devtools
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.