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

Debugger should support authentication with symbol server and source link #2071

Open
gregg-miskelly opened this issue Feb 26, 2018 · 21 comments

Comments

@gregg-miskelly
Copy link
Contributor

gregg-miskelly commented Feb 26, 2018

In 1.15, the debugger added support for Source Link and Symbol Server. However, it currently doesn't support either symbol servers or source link endpoints that require authentication.

This feature request tracks adding support for either or both of these. My guess is that we would want to do both at the same time, but I could be wrong.

Workaround

Manually clone the repo/source repository and add a sourceFileMap entry to your launch.json.

@garfbradaz
Copy link

Hey Guys,

I presume this is an issue for private Azure Dev Ops repositories then as I'm getting a 401 when trying.

@gregg-miskelly
Copy link
Contributor Author

Correct

@garfbradaz
Copy link

@gregg-miskelly thanks for the reply. Is there a spec for this and is it up-for-grabs?

@ransagy
Copy link

ransagy commented Dec 1, 2019

Is this planned out at all for a (near-)future version of VSCode? Maybe a way to provide a local fallback for such scenarios?

@gregg-miskelly
Copy link
Contributor Author

@ransagy by 'local fallback' do you mean pointing at a local source file? Local source files should always take precedence over SourceLink -- you want to add a sourceFileMap to your launch.json.

We don't have a timeline for the feature currently. It is not particularly easy to do as we need some sort of cross-platform credential UI to do it right.

@ransagy
Copy link

ransagy commented Dec 2, 2019

Hah, missed that bit of the docs, damn.
I completely understand this is nowhere near easy, Just wanted to gauge if there's any work being done towards it, so that answers both my questions. Thanks!

@gregg-miskelly
Copy link
Contributor Author

@ransagy It was a good question, so thanks for asking it. I added a 'Workaround' section above to hopefully make it more obvious.

@ransagy
Copy link

ransagy commented Dec 2, 2019

I guess traditional VS taught me to expect that "where is your source" dialog, hence i assumed it's not implemented.

@garfbradaz
Copy link

@gregg-miskelly any news on the this one fella?

@divinebovine
Copy link

@gregg-miskelly any chance that this will get looked at soon?

@gregg-miskelly
Copy link
Contributor Author

Unfortunately, the status of this feature is unlikely to change anytime soon. It is not particularly easy to do as we need some sort of cross-platform credential UI to do it right. Also, the debugger team is currently fully booked on other work.

@CRuppert
Copy link

@gregg-miskelly isn't that what the https://github.com/microsoft/Git-Credential-Manager-Core is supposed to be for?

@gregg-miskelly
Copy link
Contributor Author

@CRuppert That might be a good option. GCM Core is one of the things we use in Visual Studio.

@divinebovine
Copy link

@gregg-miskelly just wanted to circle back around on this issue. Is this being considered any time in the next few quarters?

@gregg-miskelly
Copy link
Contributor Author

The debugger team doesn't currently have time booked for this. Prioritizations change often, so it is certainly possible, especially if this got enough up votes. But its not something that I can promise.

@divinebovine
Copy link

Thanks for the reply @gregg-miskelly. I get it, it would just be a really helpful feature for organizations like mine with private repos. 😞

@ohanedan
Copy link

ohanedan commented Jul 5, 2023

We are waiting this improvement like 🙇‍♂️🙇🙇‍♀️

@boylec
Copy link

boylec commented Sep 13, 2023

please

@jobou363
Copy link

jobou363 commented Nov 1, 2023

Is there a place to vote for this feature?

Also, i have been trying to use the sourceFileMap without success with vs code where debugging a dll.

Is there a way to diagnostic the problem with the source map and is there a documentation explaining with a real use case?

I read the foo example but what is the "c:\foo" in the case the dll is build on a build server does it represent the original build path?

"sourceFileMap": {
    "C:\\foo":"/home/me/foo"
}

I have tried to set some key map but keep receiving Error: Unable to Locate Source File message because of authentication issue do it's look like the map not working.


"sourceFileMap": {
                "https://api.bitbucket.org/2.0/repositories/XYX/Project/src/5040ef34b3a083b7789eaa711f03a58319c03db4/": "G:\\Git\\LOCAL\\Project\\",
                "C:\\BuildAgent\\work\\be4f9bbfc6a122ad\\*": "G:\\Git\\LOCAL\\Project\\*",
                "/_/": "G:\\Git\\LOCAL\\Project\\*",
            },
// -----------------------------------
// Error: Unable to Locate Source File
// -----------------------------------
// 
// The source file you're trying to access, located at
// '/_/src/Project/Test.cs', cannot be found on this
// computer. The debugger attempted to download the source file using Source Link, but the
// request failed.
// 
// Possible Reasons:
// * The server requires authentication, but the VS Code C# debugger doesn't support
// authentication. See: https://aka.ms/VSCode-DotNet-SourceLinkAuthNotSupported
// * The source control commit that this module was built from doesn't exist on the
// server. For example, if this module was compiled on a developer's computer, the source
// commit might have been temporary or never pushed to the server.
// 
// What to Do:
// Manually obtain source code, for example by cloning the appropriate repo locally, and
// use `sourceFileMap` to point the debugger at the source code. See
// https://aka.ms/VSCode-CS-SourceFileMap for complete instructions.
// 
// Error Details:
// The request failed with HTTP status code 404 (NotFound).
// 
// The URL where the source file will be downloaded from:
// https://api.bitbucket.org/2.0/repositories/XYX/Project/src/5040ef34b3a083b7789eaa711f03a58319c03db4/src/Project/Test.cs
// 
// For more information about Source Link and VS Code see
// https://aka.ms/VSCode-DotNet-SourceLink

@etmyhome
Copy link

etmyhome commented Dec 1, 2023

@gregg-miskelly
any update? i using github packages

@viniciusjarina
Copy link

@gregg-miskelly Would be possible to use personal access token? This way wouldn't be needed an UI. Just add the PAT somewhere in the extension setting. (Rider uses the same approach to fetch sources from private repos)

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