问题标签 [symbol-server]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 调试 NuGet 包 - 未显示源的符号
我正在尝试为我的库构建 nuget 包和符号。我正在使用 TeamCity 构建包,然后将它们推送到我的内部 SymbolSource repo。
一切似乎都在构建/打包/推送,但是当我去调试我的 nuget 包(使用 VS2012)时,源代码不正确,更好的是,我找不到它在任何地方显示的方法名称图书馆。
我的项目结构:
在我的 .nuspec 文件中(注意,v4.0 和 v4.5 目录在 TeamCity 端处理):
检查 teamcity 产生的 MyProject.0.0.nupkg
检查 TeamCity 产生的 MyProject.0.0.symbols.nupkg
所以我假设的问题是,当我将包推送到我的内部符号仓库时,我会查看文件结构,如下所示:
Sources 文件夹是空的,100% 是空的,我似乎无法将任何 .cs 文件放入该“Sources”文件夹,但话又说回来,我不知道 nuget push 到我的 repo 之间到底发生了什么,实际转储到数据文件夹中,VS2012 神奇地拉入调试符号。
所以,我完全不知道下一步该去哪里检查。
regex - 从 Microsoft 加载 .NET PDB 符号
我根据这个在VS 2010中设置了一个符号服务器:
http://msdn.microsoft.com/en-us/library/vstudio/b8ttk8zy(v=vs.100).aspx
但我的目标是进入 RegularExpressions 命名空间中的 Regex 类:
我确实知道 System.dll 程序集中的正则表达式符号很久以前就公开了,因为我不久前读了一篇关于它的文章,对此感到很兴奋并做了一个小概述。但是我找不到这篇文章。
就目前而言,当我“步入”我的 Match 功能时,它甚至没有给我 Step-Over 对话框。它只是跨步。
nuget - MyGet & SymbolSource.org:VS2012 没有找到 pdb
我在 myget(ci 的一部分)上创建了一个库,我正在尝试将符号源推送到 symbolsource.org(这是一项很棒的服务,我喜欢这个想法)。这是我的第一次尝试。我一直在使用 myget 网站上的说明:http: //docs.myget.org/docs/reference/symbolsource,但存在一些差距。
这是我经历的步骤。首先,我创建一个 nuspec 文件,然后使用“nuget pack -symbol xxx”创建 X.symbols.nupkg 和 X.nupkg 文件。这工作得很好。然后我将它们单独推送到 myget 和 symbolsource。我使用 nuget pkg explorer 检查内容,它们看起来和我预期的一样(src、pdb 和 dll 出现在符号中)。完成推送后,我可以登录到 symbolsource 并使用 myget 页面上的说明查看我的包。
我使用以下命令推送到符号源:
然后我按照说明配置 Visual Studio:确保关闭“仅启用我的代码”并打开符号服务器。然后,我将以下 URL 添加到符号服务器列表中:
XXXX 是一个 GUID,我读取了 sumbolsource“您的帐户”/“身份验证”“Visual Studio”表条目(myget 根本不清楚这是我应该做的)。
然后我尝试调试。当我在该库中找到某些东西时,我在 VS2012 中得到“未加载符号”页面。在详细信息下,有一个转储VS2012试图找到pdb文件。我看到以下内容:
简而言之,它看起来正确地联系了symbolssource.org。但是那里有些东西失败了。9C883E0FA93245C99EFD2B92DBFC6DFC1 显然是一个哈希。我不知道(??)分配给该库的哈希符号源-尽管我很想弄清楚,因为这可能是了解正在发生的事情的第一步。
基本上。我现在不知道如何进行调试。任何帮助,将不胜感激!
更新:正如下面的答案中提到的,构建一些可以测试的小东西。我已经这样做了,而且效果很好。在这样做的过程中,我发现 SymbolSource.org 上有一些调试工具 - 具体来说,当您查看提要中的包时,您可以找到“编译”链接。点击它。它应该为您上传的每种构建类型显示一行。我的包与此无关 - 所以我以某种方式弄乱了我的 nuspec 文件以生成符号。
c# - 如何调试从 TeamCity 部署的我的 nuget 包?
我已将我的团队使用的库放入从 TeamCity 部署到网络文件夹的 nuget 包中。我无法调试到这段代码!SymbolSource 是我读过的一种解决方案,但我更愿意找到某种方法来直接从 TeamCity 访问 .pdb/source 文件。有谁知道如何做到这一点?
编辑。 当我签'Include Symbols and Source'
入 Nuget Pack 构建步骤时,除了网络文件夹中的 .nupkg 文件之外,TeamCity 还会创建一个 .Symbol.nupkg。.Symbol.nupkg 包含 src 和 .pdb 文件。
编辑。 我取消选中'Include Symbols and Source'
TeamCity 并将以下内容添加到我的 nuspec 文件中:
这在 nuget 包中添加了我的库的 dll、pdb 和源文件,并且没有生成我认为只有符号服务器才需要的 .Symbols 文件。
windows - Is it safe to remove .pdb directory from a symbol storage if I don't use them anymore?
My local symbol storage directory contains plenty of files which I'd like to erase (because I think they are unused) or move to a separate directory. I'm know that AgeStore and SymStore can be used to trim a symbol storage - but neither seems to support the use case of removing information for specific files from the symbol storage.
My local symbol storage looks something like
Is it safe to just remove directories like vc60.pdb
and everything beneath that altogether, or would that break fetching symbols/binaries from the symbol storage?
nuget - 符号服务器删除命令不起作用
我正准备使用 SymbolSource 社区版为一些内部库托管一个内部符号服务器。在测试添加和更新包的工作流程时,我还测试了从服务器中删除符号的能力。我正在使用 NuGet.exe 对符号服务器执行命令。尽管 NuGet 删除命令说它已成功完成,但文件仍在内部符号服务器上。我正在使用的命令是:
该命令的输出是:
在http://www.symbolsource.org/Public/Blog/View/2011-06-27/Deleting_packages_from_SymbolSource中提到了 SymbolSource.org 上托管的符号的删除功能(通过 NuGet)。此功能实际上不是“删除”功能,而是类似于“隐藏”命令。但是,从 2011 年开始, https ://groups.google.com/forum/#!searchin/symbolsource/delete/symbolsource/Z63nIr_s-DY/V2rDBdsDI2IJ有一个线程,其中还提到实现“完整”删除功能位于顶部那个时间点的优先级列表。有人知道这个功能是否真的实现了吗?我似乎在 SymbolSource.org 网站上找不到任何进一步的引用。
当我在服务器上运行进程监视器以监视与执行 NuGet 删除命令相对应的文件活动时,我可以看到活动 - 但大部分活动条目的状态为“未找到路径”和“未找到名称”。Process Monitor 日志中引用的目录不是我所期望的。被引用的主目录是:
但是,符号文件位于目录中:
我想我要么必须遗漏一些东西,要么从未实施过删除命令。有谁知道可能是哪种情况?
.net - SymbolSource 服务器问题
我们正在为我们的开发团队设置本地 SymbolSource 服务器。我们关注了一篇写在 SymbolSource 服务器上的好文章。我们使用 TeamCity 进行构建。使用命令将每个构建.symbols.nupkg
推送到本地 SymbolSource nuget push
,并将 nuget 包推送到本地 NuGet 服务器。
我们遇到的问题:
对于 nuget 包 MyPackage.1.1.0,如果我们将其推送到符号服务器,它会创建哈希,这就是它为每个版本文件夹关联以加载.pdb
文件和.cs
文件的方式。(这是我的理解。如果我错了,请纠正我)。
在 Visual Studio 中设置符号服务器配置后,我们尝试调试项目。我们遇到的是,Visual Studio 生成的用于加载符号的哈希与nuget push
在符号服务器上注册时生成的哈希完全不同,最终结果为 404。(请参阅带有提琴手状态代码的附件。)如果我们创建一个在符号服务器上手动使用相同的哈希文件夹,我们得到期望的结果,即步入代码。
为什么相同版本的 dll/nuget 文件有两个不同的哈希值?
assembly - 在没有源代码的情况下调试/故障排除 Windows 应用程序
几天前,我在工作中遇到了这个问题,我想知道有没有办法从场景中提取更多数据而不是去微软。有很多这样的案例,我想探索作为一个 Windows 开发人员,获取大部分信息的最佳/最佳方式是这种情况。我将描述情况:
Office 应用程序在使用某些设置(涉及 cmyk 颜色空间)打印时会引发一个对话框错误,该对话框的描述错误。“文件 %s 无法打开,因为它已被其他应用程序锁定”。它不提供文件名,事件查看器也不提供。打印中止。
在使用时,当涉及的进程(如办公应用程序、假脱机程序、splwow64.exe (是的,它是 64 位系统,应用程序是 32 位)调用
procmon
api 时,我们在多个文件上发现“文件锁定错误” )。CreatefileMapping
当不涉及 splwow64 时问题不存在,这意味着在 64 位操作系统上使用 64 位应用程序。
我想知道在这种情况下哪些工具有助于获取更多信息。这包括在需要时将 MS 符号与 windbg 和调试程序集一起使用。基本上我需要锁定的文件名,显示为 %s 和问题的根源。
c# - 为什么在 referencesource.microsoft.com 上找不到 System.Web.pdb?
请注意它是如何在 上找不到System.Web.pdb
的referencesource.microsoft.com
。它找到了它,msdl.microsoft.com
但那些没有源文件/行。我已经下载了System.Web.dll
from的源代码,referencesource.microsoft.com
所以我知道源代码可用。我的理解referencesource.microsoft.com
是应该有适用于所有已发布版本的 .NET Framework(包括补丁)的 PDB?
当前正在加载的版本System.Web.dll
是 GAC 中标记为 version 的 64 位版本4.0.30319.34212
。它的发布日期为 2014 年 5 月 29 日。据我所知,它是 的最新版本System.Web.dll
,但如果我错了,如果它解决了这个问题,我不介意升级。
teamcity - Teamcity 作为符号服务器没有找到 pdb
我正在尝试将 Teamcity 用作符号服务器。我按照应有的方式设置了 TC,并且 TC 正在为我的文件编制索引。
我发现了这个问题,所以我试着在服务器上找到符号。我得到了一些与命令一起列出的 .dll symchk /r * /s SRV*http://outserver.acp.net/app/symbols
。我只看到其他 dll,但看不到我的库或 pdb。
我错过了什么?
一个简短的日志: