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

Publish lib_lightgbm.dll symbols to Microsoft Symbols Server #1725

Closed
eerhardt opened this issue Oct 2, 2018 · 6 comments
Closed

Publish lib_lightgbm.dll symbols to Microsoft Symbols Server #1725

eerhardt opened this issue Oct 2, 2018 · 6 comments

Comments

@eerhardt
Copy link
Member

eerhardt commented Oct 2, 2018

When using the lib_lightgbm.dll from https://www.nuget.org/packages/LightGBM/, and either trying to debug or perf profiling, I am not able to load symbols for this assembly.

We should publish the symbols for this assembly to the Microsoft Symbols Server, so others will be able to debug and profile correctly.

@danmoseley
Copy link
Member

@eerhardt is referring to the public symbol server, not the internal one. This will be consistent with what we do for ML.NET, .NET Core, etc. In all these cases we publicly post the non-stripped (complete) symbols.

@Laurae2
Copy link
Contributor

Laurae2 commented Jan 13, 2019

ping @guolinke

1 similar comment
@StrikerRUS
Copy link
Collaborator

ping @guolinke

@guolinke
Copy link
Collaborator

very sorry for the late response.
@eerhardt @danmosemsft I didn't use Microsoft Symbols Server before, any guidelines about it?
should I follow this (https://docs.microsoft.com/en-us/windows/desktop/dxtecharts/debugging-with-symbols#using-the-microsoft-symbol-server) to publish a symbol?

@eerhardt
Copy link
Member Author

That section is about how users are able to download the symbols in order to debug/profile. There is a section below titled Adding Symbols to a Symbol Server, but that doesn't really apply to the official Microsoft symbols servers.

The process we use to publish ML.NET's symbols is in our official build script:

https://github.com/dotnet/machinelearning/blob/6f576de0ef99408b9505a52af47855a6b6230ffe/build/vsts-ci.yml#L246-L260

which calls into some MSBuild code:

https://github.com/dotnet/machinelearning/blob/6f576de0ef99408b9505a52af47855a6b6230ffe/build/publish.proj#L45-L53

In order to use those scripts, you need to set up a security token/secret in the official build to allow publishing the symbols to the server.

One question about the LightGBM NuGet package, is it an official Microsoft distributed binary? I see it isn't owned by Microsoft on nuget.org, but this repo is in the Microsoft github org. So it is a bit confusing on whether this is a Microsoft asset or not.

Another option (if that NuGet package isn't considered an official Microsoft product/library), is to put the symobls in a .zip or .tar.gz file on the Releases tab in GitHub. At least that way, any dev who needs the symbols will be able to download them from somewhere. It would be better than nothing.

@StrikerRUS
Copy link
Collaborator

Closed in favor of being in #2302. We decided to keep all feature requests in one place.

Welcome to contribute this feature! Please re-open this issue (or post a comment if you are not a topic starter) if you are actively working on implementing this feature.

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

5 participants