Conan: Support Microsoft Symbol Server integration with Artifactory for Conan packages containing .pdb

Created on 3 Dec 2018  路  4Comments  路  Source: conan-io/conan

We would like to ensure that developers can debug production Windows software published internally using Conan.

We understand how we could publish libraries used in building our executable up to Conan and our pdb files separately to a symbol server accessible to VisualStudio.

However, given space constraints, we must manage the garbage collection of old library builds once we become certain they are no longer needed.

If we store .pdb files to a separate symbol server, then whatever lifecycle and deprecation management we decide on for Conan packages must be duplicated for the management of the symbol server pdbs.

If instead we could simply publish the pdb and lib files in the same Conan package, publish them to Artifactory and aim Visual Studio at the artifactory conan repo as a Symbol Server, we could manage those artifacts together.

Can we please request a Conan/Artifactory integration enhancement that would allow .pdb files published within Conan packages to be transparently available as if it were a Symbol Server, using the usual hash query mechanism implemented by Symbol Servers https://stackoverflow.com/questions/1419347/microsoft-symbol-server-local-cache-hash-algorithm ?

I have raised: https://www.jfrog.com/jira/browse/RTFACT-18260 in the Artifactory JIRA.

To help us debug your issue please explain:

  • [x] I've read the CONTRIBUTING guide.
  • [x] I've specified the Conan version, operating system version and any tool that can be relevant.
  • [x] I've explained the steps to reproduce the error or the motivation/use case of the question/suggestion.
artifactory queue

Most helpful comment

Have also raised:

https://www.jfrog.com/jira/plugins/servlet/mobile#issue/RTFACT-18260 "Support Microsoft Symbol Server integration with Artifactory for Conan packages containing .pdb" to flag it to the Artifactory team.

All 4 comments

This is an amazing idea. But why just Windows? Linux has a similar feature. This video covers the basics.

Doing this for linux would be great, but the approach may need to be different. I have not (yet?) figured out if gdb can download symbols from a server. It can consume them from a local path, but I have not find anything hinting at gdb being able to download. I have not checked the state of the art in lldb, so I have no clue what the right solution would be there.

One option would be to use conan to download the symbols manually to a local directory, something like:

conan debuginfo package/version@...

This would be the minimum viable product on windows (no need for a server, you download to a local path manually) and it would also help with linux. The command could also embed some of the needed logic to reproduce the build-id based paths in the target location (per-debugging format).

This would require conan packages to track internally the files that are "debug" information, which I have no clue how complicated it would be to implement (I have never looked at the conan sources)

@AliAskari cool -- I've raised https://github.com/conan-io/conan/issues/4056 "Support Linux stripped symbol debugging"

@dribeas I'm sure there's a work-around using a conan command, but that's not the integration I'm requesting in this ticket. I think it's possible to reduce the number of steps for lusers^H^H^H^H^H^Hdevelopers.

Have also raised:

https://www.jfrog.com/jira/plugins/servlet/mobile#issue/RTFACT-18260 "Support Microsoft Symbol Server integration with Artifactory for Conan packages containing .pdb" to flag it to the Artifactory team.

Was this page helpful?
0 / 5 - 0 ratings