microsoft / microsoft/MIEngine

Why is ServerTransport initialized with working directory related to MIDebuggerPath instead of DebugServer?

Open
#1,207 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

In file ServerTransport there is process initialized with WorkingDirectory set to directory of MIDebuggerPath (which is usualy set to gdb executable). What is purpose setting debug server working directory to directory containing GDB instead it's own folder? Are there any special kind of debug servers which needs it?

Personally I think that line 33 in this file should be as follows (+ possible variable name refactoring)

string miDebuggerDir = System.IO.Path.GetDirectoryName(localOptions.DebugServer);

instead of

string miDebuggerDir = System.IO.Path.GetDirectoryName(localOptions.MIDebuggerPath);

Can I introduce new (launch.vs.json) parameter debugServerCwd for allowing end user to override this path by a config? In case when I would create pull request will it promote to VS 2019 or only to VS 2022?

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 with src/MICore/Transports/ServerTransport.cs at line 33 and compare how MIDebuggerPath and DebugServer are used when the process is initialized. Confirm the intended working-directory behavior and whether a launch.vs.json debugServerCwd option is appropriate, including the stated Visual Studio version scope; done requires a maintainer decision and corresponding implementation scope.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
devtools
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.