问题标签 [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.
visual-studio-2015 - Visual Studio 2015如何应对微软2019符号服务器升级?
我最近在我的 Windows 7 的 VS2015 IDE 中发现了一些异常。开始调试时,VS2015 无法再从微软的符号服务器获取 pdb 文件。这发生在 2019 年底左右。
屏幕截图如下:
经过一番调查,我发现原始 pdb 文件 URL http://msdl.microsoft.com/download/symbols/wntdll.pdb/E611E9E16BA54434A45EB38CE9217A792/wntdll.pdb现在被重定向到https://vsblobprodscussu5shard65.blob.core .windows.net/b-4712e .... 而旧的 VS2015(更新 3)似乎无法遵循 HTTP 重定向,因此它抱怨ERROR_INTERNET_HTTP_TO_HTTPS_ON_REDIR。
毫无疑问,这是由于微软符号服务器的后端基础设施升级。
当然,使用 EWDK 1903 中更新的 windbg.exe,我可以下载这些系统 DLL 的符号,但是当我在 Visual Studio 中完成大多数调试工作时,这非常不方便。
所以我的问题是:有没有办法/补丁让 VS2015 调试器与新的符号服务器一起工作?
============ 2020.04.20更新===========
奇怪,我用VS2015和windbg来回玩了大约一小时后,VS2015 pdb下载突然开始工作。幕后一定有什么神秘的变化!
c++ - 将 dbghelp 用作服务时出现 ERROR_WINHTTP_NAME_NOT_RESOLVED
我正在尝试设置一个符号代理服务器,该服务器同时针对我们自己的内部符号存储(UNC)和 http 服务器(微软就是其中之一)。我希望它作为服务运行,或者作为 IIS(当然作为服务运行)。
我已经尝试过Micrsoft SymProxy,现在正在尝试pySymProxy。当我从桌面运行 pySymProxy 时,它工作得很好,但在作为服务运行(/通过 IIS)时出现此 WINHTTP 错误。
我已经尝试了这里提到的每一个修复,包括使用DBGHELP_WININET
和设置注册表设置。这些根本没有影响。我相信这些信息现在已经过时了,但我找不到任何地方可以表明最新的建议是什么。我也不明白根本问题是什么。到目前为止,我尝试过的每种方法都告诉我我不在代理后面。WinHttp 说它没有在日志条目中使用代理,那么为什么它不能像从桌面运行时那样简单地解析名称呢?
从服务运行时失败时我的日志中的示例:
从桌面运行时运行良好的示例:
.net - 其他用户无法从 Azure 符号服务器下载 .pdb 文件
我已经使用 Azure 符号服务器设置了 Nuget 调试。一切都对我有用,但是当 Visual Studio 尝试下载 .pdb 文件时,我的同事遇到错误:
SYMSRV:HTTPGET:/XXX/_apis/Symbol/symsrv/MyLibrary.pdb/377D6A27B3CE42F5A175176C497E5E841/MyLibrary.pdb
SYMSRV:HttpQueryInfo:80190194 - HTTP_STATUS_NOT_FOUND
在我自己的计算机上,相同的查找成功:
SYMSRV:HTTPGET:/XXX/_apis/Symbol/symsrv/MyLibrary.pdb/3F4F05AFBCAD4F1D8E225EFC63B6497B1/MyLibrary.pdb
SYMSRV:HttpQueryInfo:801900c8 - HTTP_STATUS_OK
似乎两台计算机使用不同的 URL,对应于相同 .dll/.pdb 的符号缓存中的不同文件夹名称。
我还尝试使用我自己的用户登录在另一台 PC 上。我在文件夹/URL 中获得了相同的 ID。
并且只有我自己的用户生成的 URL 才能成功检索文件。我可以通过在浏览器中输入 URL 来验证这一点。
问题:
为什么两个用户的 ID 不同?dll 是相同的版本,来自相同的 Nuget 提要。
为什么在获取符号文件时只有我自己计算机的 ID 有效?如何修复它以便其他用户也可以调试 Nuget?
azure-devops - 如何使用 JFrog Artifactory 作为 Azure Pipelines 构建的符号存储?
我正在使用VSBuild
Azure Pipelines 中的任务进行 Windows 构建。我的管道创建 PDB 文件。我想设置 JFrog Artifactory ( https:\\mycompanyname.jfrog.io
) 以用作符号存储。
PublishSymbols@2 文档没有明确说明如何使用远程符号服务器;它仅显示如何使用 Azure Artifacts 或文件共享。
JFrog 文档(也是这个)更详细;但是,它适用于本地 Artifactory 服务器,而不是基于云的服务器。
我可以在我的管道中使用symstore.exe
,PublishSymbols@2
但我还没有symstore.exe
在我的 Azure DevOps VM 上找到。VM 是一个自托管的 VS-2017-Ent-WS2016 机器。
另一种选择是将脚本放入使用JFrog Artifactory CLI的管道中。如果这可行,我应该使用哪些 API 调用?
azure-devops - 在 Azure Pipelines PublishSymbols 任务中,如何指定多个搜索模式?
我们的管道中有以下PublishSymbols
任务,并且工作正常。
但是,我们希望微调searchPattern
输入,使其仅查找以abc或xyz开头的 PDB 文件。我怎样才能做到这一点?
逗号分隔的字符串?
搜索模式:“**/abc*pdb”、“**/xyz*pdb”
大批?
搜索模式:@("**/abc*pdb", "**/xyz*pdb")
某种或符号?
searchPattern: "**/abc*pdb" | “**/xyz*pdb”
PowerShell 换行符怎么样?从Github 上的源文件,我推断这可能是解决方案:
搜索模式:“**/abc*pdb`n**/xyz*pdb”
但这就是结果:
找到 0 个文件。
##[警告]没有选择用于索引的文件。
一个相关的问题,处理其他文件类型:
我的同事建议我包含与 PDB 文件关联的 EXE 或 DLL 文件,因此 searchPattern 还将包含“abc*exe”、“abc*dll”等。是否PublishSymbols
需要这些附加文件?或者 PDB 文件是否包含任务所需的所有信息?
我在网上研究了symbols、symstore.exe和symbol.exe,还没有找到这个问题的好答案。