云客户?
开始免费>
升级MyJFrog >
云有什么新鲜事>





概述

符号文件(即.pdb文件)提供了可执行文件和动态链接库(dll)中包含的函数的足迹,并可以提供导致故障点的函数调用的路线图。

Symbol Server存储所有公共构建的. pdb文件和二进制文件。它们用于使您能够调试为某个已存储构建报告的任何崩溃或问题。Visual Studio和WinDBG都知道如何访问Symbol Servers,如果正在调试的二进制文件来自公共构建,那么调试器将自动获得匹配的PDB文件。

从Artifactory 7.36中,您可以受益于以下高级的Symbol Server特性:

  • 发布的同时索引您的符号包从您的NuGet客户端v3 Artifactory与您的NuGet包或作为单独的符号包
  • 解析JFrog平台中的虚拟和本地存储库中的符号文件(.pdb)
  • 解析来自远程代理的符号文件。例如,http://symbols.nuget.org/download/symbols
  • 使用Visual Studio调试器工具调试Artifactory上托管的Symbol文件。

注意,在Artifactory 7.36之前,Symbol Server支持仅限于将Artifactory设置为在Artifactory中作为通用包托管的符号文件的远程代理

支持PDB格式

  • Microsoft PDB V7 (Microsoft C/ c++ MSF 7.00)
  • 便携式PDB v1.0
页面内容


NuGet符号库布局

NuGet Symbol文件显示为NuGet存储库结构的一部分,如下所示。

├──.symbols / serilog。│├─ram├─serilog. exepdb├──

发布NuGet符号包到Artifactory

JFrog平台支持发布和自动索引调试器使用的Symbol包。

先决条件

  • 创建您的NuGet Symbol包(.snupkg).有关更多信息,请参见创建符号包

设置本地存储库

本地存储库使您能够部署NuGet Symbol (.snupkg)包。Artifactory计算所有Symbol包的元数据,并对它们建立索引,以允许用户通过Visual Studio调试器下载Symbol文件。

要创建NuGet Symbol本地存储库:

  1. 导航到政府模块,去存储库|存储库|当地的|新本地存储库。
  2. 选择NuGet随着包类型

设置虚拟存储库

Artifactory虚拟存储库聚合来自本地和远程存储库的包。

这允许您从为虚拟存储库定义的单个URL访问本地托管的NuGet Symbol包和远程代理的NuGet Symbol文件。

创建一个虚拟的NuGet存储库:

  1. 政府模块,在存储库|存储库|虚拟.lick新的虚拟库并设置NuGet是它的类型。
  2. 选项下要包含的底层本地和远程NuGet Symbol存储库存储库部分。

设置远程符号服务器存储库

您可以通过JFrog平台远程存储库代理远程符号服务器。一个远程存储库在Artifactory中定义的注册表作为缓存代理,用于在远程URL(即http://symbols.nuget.org/download/symbols).

从远程存储库请求的符号文件将按需缓存。您可以从远程存储库缓存中删除下载的符号文件;但是,您不能手动将Symbol包推送到远程NuGet存储库。

要将远程存储库定义为远程符号服务器,请执行以下步骤:

  1. 政府模块,选择存储库|存储库|远程
  2. 点击新的远程存储库并选择NuGet从选择包类型对话框。
  3. 在Basic选项卡中,设置库的关键中的远程注册中心的URLNuGet符号服务器URL字段。注意,默认设置为http://symbols.nuget.org/download/symbols



将NuGet CLI配置为与Artifactory相反的符号服务器

除了构建和创建NuGet包(.nupkg), NuGet客户端还支持创建相关的Symbol包(.snupkgsymbols.nupkg),其中包含NuGet包的所有相关符号文件。符号包可以被推到符号服务器,在那里符号文件可以被索引并被Visual Studio调试器使用。

Symbol包的结构类似于NuGet包,但它包含Symbol文件而不是源文件。

使用实例配置NuGet命令行。

  1. 在JFrog平台中,导航到应用模块| Artifactory | Artifacts
  2. 选择您创建的NuGet存储库,
  3. 选择陷害我
  4. 配置选项卡,设置NuGet存储库以针对NuGet客户端工作。

  5. 将以下行添加到NuGet.config文件。
  6. 部署选项卡,从下列Push选项之一中选择。
    • 将NuGet包与其相关的Symbol包一起推送
      当您运行nuget推命令,如果在同一目录中存在一个符号包,则该符号包将自动推送到相同的位置。

      如下例所示。

      nuget推动mypackage.1.0.0。nupkg-Source ArtifactoryNuGetV3
  • 只推NuGet符号包
    当您运行nuget推命令,您可以通过添加'年代的前缀nupkg字符串。


    如下例所示。

    nuget推动mypackage.1.0.0。年代nupkg源ArtifactoryNuGetV3

查看单个符号包信息

将Symbol包部署到Artifactory之后,可以查看索引的Symbol文件。工件浏览,选择你的NuGet库并向下滚动以查找和选择您想要检查的符号文件。


在Visual Studio中调试符号文件

Visual Studio和其他调试工具匹配程序集和PDB文件的方法是使用组装散列.此散列存储在。dll而且.pdb文件和必须匹配,以便调试和源步进工作。


当一个.nupkg包含.pdb文件,Visual Studio将到MyGet下载符号和源代码。在尝试使用这种类型的包进行调试时,Visual Studio将发现.pdb而不是通过MyGet下载,因此在进入代码时会失败。

先决条件
  1. 在Visual Studio中,在工具| Options(或Debug | Options) | Debugging | General、清晰的启用Just My Code字段。
  2. 在Visual Studio中将Artifactory设置为您的符号服务器工具|选项|调试|符号以及添加虚拟或本地存储库URL路径。

要调试Artifactory中的Symbol文件:

  1. 运行Visual Studio调试器并输入您的凭证。

    登录后,调试器扫描本地缓存,然后转到Artifactory中的虚拟存储库,如下例所示。
  2. 在Visual Studio解析了符号之后,继续调试部署的symbol文件。
  • 没有标签
版权所有©2022 JFrog有限公司