问题标签 [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.
windows - SymStore - 添加多个文件
我正在尝试使用将一堆.pdb
文件添加到符号服务器symstore.exe
。不是所有的.pdb
' 都在目录中,而是选择它们(基于日期)。
要将它们添加到单个事务中,我正在使用symstore ... /f '@filelist.txt'
where filelist.txt
is a file contains real .pdb
one per line - 正如命令行帮助所说:
(此信息仅存在于命令行帮助中symstore
,而不存在于相应的在线帮助页面中。)
这不起作用,它存储0个文件。我认为这个功能——从文件列表中添加多个文件——并没有真正实现。
有没有人成功地在单个事务中添加文件列表symstore.exe
?
wpf - 为什么我无法在 VS 中进入 WPF 源代码?
我正在使用带有 .NET 4.0 的 VS 2013,并将调试设置配置为http://referencesource.microsoft.com/。我可以进入一些核心库,例如List<T>
但仍然无法进入 WPF 代码。VS 显示 WPF 组件的“源不可用”。
Microsoft 是否通过其公共符号服务器为 WPF 提供符号和源代码?
visual-c++ - Microsoft 符号服务器上的 VS2015 64 位 MFC 符号吗?
我正在尝试从运行 64 位软件的客户那里调试崩溃/小型转储。即使我从符号设置中的“Microsoft 符号服务器”下载,mfc140u.dll 的符号也没有加载。查看符号缓存,mfc140u.i386 的 PDB 可用。
有没有办法确认这些符号可从该服务器获得?是否有说明可以从我需要找到的其他地方获取它们?
在 C:\Windows\System32 中,mfc140u.dll 的版本为 14.0.23918.0。转储文件正在寻找版本 14.00.23506.0。
这些 DLL 的符号也未加载:
- msvcp140.dll(寻找 14.00.23506.0)
- VCRUNTIME140.dll(寻找 14.00.23506.0)
.net - 当我有 .Net 调试符号时,为什么 VS 会给我反汇编?
我正在尝试解决 EventViewer 的一个烦人问题,因此我将 VS (2013) 的一个实例连接到 mmc.exe 并打破异常。
VS 只给我反汇编,即使它指向System.IO.Path.CheckInvalidPathChars(string)
,并且模块窗口说mscorlib.dll
(2.0) 加载了符号文件(两次,碰巧一次在 DefaultDomain 中,一次在 EventViewer 域中)。
如果做不到这一点,谁能帮我找出问题Path
所在,从拆卸开始?
symbols - SymbolsSource 无法推送到新包
我已经创建了一个已经使用了一段时间的符号源。
如果我尝试推送在旧 VS 中生成的包,它会正确推送包,如果我尝试推送新包,则会出现此错误:
nuget push *.symbols.nupkg 123 -Source http://localhost:3182/NuGet Empurrando MYPACKAGE para ' http://localhost:3182/NuGet ' ... 处理请求失败。'包提交失败:未知的自定义元数据项类型:6。有关可能的原因,请参见http://www.symbolsource.org/Public/Home/Help 。如果您的客户丢弃附加的详细信息,Fiddler 可能会帮助诊断此错误。
我尝试使用最新的 nuget 包更新符号源,但我仍然遇到同样的问题。
symbols - VS2015 - 推送生成的包的问题 - 符号
在我们的服务器中安装 VS2015 后,当我们尝试将符号包推送到符号服务器时,出现此错误:(506)包提交失败:未知的自定义元数据项类型
perl - 找到 P4Index 零文件的索引符号文件
我正在尝试设置符号服务器,因此我需要索引符号以映射到源版本。
我在解决方案所在的文件夹上运行 p4Index。
我的光盘文件和文件夹:
.\CalculatorDemo\bin\ 生成输出的位置
.\CalculatorDemo\CalculatorApp\ 包含源
.\CalculatorDemo\CalculatorDll\ 包含源
.\CalculatorDemo\CalculatorTest\ 包含源
在我的版本控制中,仓库中的路径是:
//sw/Main/Internal/CalculatorDemo/
我的工作区是:c:\Projects\Dev\sw\Main\Internal\CalculatorDemo\
当我尝试索引它时,我没有找到任何文件..
C:\projects\dev\sw\main\Internal\CalculatorDemo>p4Index -debug
--- ssindex.cmd [STATUS] :服务器 ini 文件:C:\Program Files (x86)\Windows Kits\10\Debuggers\x64\srcsrv\srcsrv.ini ssindex.cmd [状态]:源根目录:C:\projects\dev\sw\main\Internal\CalculatorDemo
ssindex.cmd [状态]:符号root : C:\projects\dev\sw\main\Internal\CalculatorDemo
ssindex.cmd [STATUS] : 控制系统 : P4
ssindex.cmd [STATUS] : P4 程序名: p4.exe
ssindex.cmd [STATUS] : P4 标签:
ssindex.cmd [STATUS]:旧路径根:
ssindex.cmd [STATUS]:新路径根:
ssindex.cmd [STATUS] : 部分匹配 : 未启用 --- ssindex.cmd [STATUS] : Running... 这需要一些时间...
ssindex.cmd [INFO ] : ... indexing C:\projects\ dev\sw\main\Internal\CalculatorDemo\bin\x64\Debug\CalculatorApp.pdb
ssindex.cmd [INFO] : ... 找到零个源文件 ...
ssindex.cmd [INFO] : ... 索引 C:\ projects\dev\sw\main\Internal\CalculatorDemo\bin\x64\Debug\CalculatorDll.pdb
ssindex.cmd [INFO] : ... 找到零个源文件 ...
ssindex.cmd [INFO ] : ... 索引 C :\projects\dev\sw\main\Internal\CalculatorDemo\bin\x64\Debug\CalculatorTest.pdb
我似乎无法通过漏洞并将文件版本信息获取到 pdb 中。- (我在我的开发者机器上这样做,因为我想在涉及我们的构建服务器之前让脚本工作)
有谁知道(是的,因为有人知道)我如何调试/修复问题。我可能必须做 som perl debuggin 什么的。- 我怀疑没有指向 perforce 服务器上的正确位置可能是一个问题......
在此先感谢肯尼斯
.net - 启用 .NET 框架源单步执行时,Visual Studio 会在调试开始时为所有模块下载符号
我检查了 Visual Studio 中的“启用 .NET Framework 源代码步进”调试选项创建了一个符号缓存目录。现在,当我调试项目时,Visual Studio 会创建一个对话框,显示“正在下载公共符号”并列出引用的模块。这发生在每个引用的模块上。
结果是我有时要等几分钟才能真正开始调试。
可以点击“取消”并直接进行调试。然后下一次我调试它从它停止的地方开始。
查看我的 HTTP 流量,似乎每个模块都在 referencesource.microsoft.com 中查找符号。由该服务器托管的符号(即,像 system.dll 这样的 Microsoft 模块)被下载到符号缓存中。其他符号在符号缓存的“FailedLoads”文件夹中获取一个文件,其中包含文本“PDB Not Found”。即使选中了“将源服务器诊断信息消息打印到输出窗口”,在“输出”窗口中也找不到有关故障的信息。
一旦模块在缓存中有符号或在 FailedLoads 文件夹中有文件,它不会导致对话框再次出现。因此,让进程完成一次可以解决缓慢的调试启动时间,直到添加新的引用。
我尝试了几件事,看看会发生什么。没有任何东西指向真正的解决方案。
- 取消选中“启用 .NET Framework 源单步执行”可解决问题
- 设置自动加载符号以默认包含或排除不会改变行为
- 从自动加载符号中包含或排除特定模块不会改变该模块的行为
- 选中/取消选中“启用源服务器支持”或其任何子选项不会改变行为
- 选中/取消选中“Microsoft Symbol Servers”符号位置不会改变行为
- 添加新符号位置不会改变行为。这些新符号服务器上可用的模块最终仍位于 FailedLoads 文件夹中,并且在“下载公共符号”对话框期间不会向它们发出 HTTP 请求。
- 通过其他方式(例如,在调试时从不同的符号服务器加载)将符号放入符号缓存中可以避免该模块的“下载公共符号”对话框。
我已经在 VS2013 Update 1、VS2015 Update 3 和 VS2017 RC 上重现了这个问题。有趣的是,我相信我多年来一直使用 VS2013 没有这个问题。我认为它是在几个月前我切换到 VS2015 的时候开始的。
有谁知道这是否是一个已知的错误,或者是否有办法在禁用此行为的同时启用 .NET Framework 源单步执行?
.net - 为什么 VS 不能为我的 NuGet 包获取已发布的 PDB?
我使用 NuGet.org 上的说明为我的每个开源 DLL 创建符号包。例如,我曾经nuget pack -Version 2.4.3 -symbols Core\Loyc.Essentials.nuspec
创建Loyc.Essentials.2.4.3.nupkg
和Loyc.Essentials.2.4.3.symbols.nupkg
.
将 .nupkg 重命名为 .zip,我验证了该.symbols.nupkg
包是否包含预期的 .dll、.pdb 和 .xml 文件,以及文件夹lib\net45
中的完整源代码。src
我使用 AppVeyor 使用类似的nuget
命令构建我的包,并使用以下选项发布符号和非符号包:
deploy:
- provider: NuGet
server:
api_key:
secure: DHTp3wMjKqyca2PWftol2wq7DxE9KdL8AizHVIS14T4DSSMXgc0bIiCGvvA8SkTH
skip_symbols: false # Whether to not publish symbol pkgs (src/pdb)
artifact: /.*\.nupkg/
on:
branch: master # Release from master branch only.
appveyor_repo_tag: true # Deploy on tag push only.
它似乎工作:
我创建了一个测试项目,通过 VS NuGet GUI 添加了我的包。
最后,我按照这里有关如何使用符号服务器的详细说明进行操作。根据nuget.org 的建议,我还将https://nuget.smbsrc.net添加到 VS 调试选项中的“符号文件 (.pdb) 位置”列表中 | 符号。
它不起作用。我注意到在 SymbolCache 中有一个FailedLoads
文件夹,其中包含我的每个 DLL(和 NUnit)的文本文件。文本文件仅包含“未找到 PDB”。为什么可能找不到 PDB?
visual-studio-2015 - 在 VS2015 中设置 smbsrc.net 时遇到问题
- 我已
https://nuget.smbsrc.net/
在 VS2015 中设置为符号文件位置,并遵循了 symbolsource.org 上的说明 - 在“模块”窗口中,调试时,我右键单击通过 NuGet 包安装的 DLL,我知道已为其发布符号包。我可以使用
nuget list OBeautifulCode.AutoFakeItEasy -prerelease -source https://nuget.smbsrc.net/
- 我点击“符号加载信息”
- 我在文本框底部看到以下内容
SYMSRV: https://nuget.smbsrc.net/: not available
https://nuget.smbsrc.net/: Symbols not found on symbol server.
我究竟做错了什么?预发布的 nuget 包有问题吗?