问题标签 [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.
tfsbuild - 源服务器和符号服务器之间的 TFS 2010 有什么区别?
例如,我已经阅读了几篇文章...... http://blogs.msdn.com/b/adamroot/archive/2009/06/17/source-server-and-symbol-server-features-in-team- Foundation-server-2010-beta-1.aspx
http://blogs.msdn.com/b/jimlamba/archive/2009/06/15/symbol-and-source-server-in-tfs-2010.aspx
根据我的阅读,这些都是有用的服务器应用程序,可以在处理需要分析的旧版本应用程序时进行设置以获得更好的调试支持。
在第一个链接中,msdn 博主提到,虽然两者都很有用,但它们是分开的并且不相互依赖。为什么我要一个而不是另一个?他们执行两个截然不同的任务还是重叠?
很高兴其他人编辑 Q 或者如果这还不够清楚,请让我编辑。
debugging - Windows 调试符号 - 未加载
我有 Windows 7 x64 SP1。我已从以下位置下载符号:
http://msdn.microsoft.com/en-us/windows/hardware/gg463028
我已经为 Windows 7 x64 SP1 下载并安装了 x64 RTM 和 x64 SP1 符号。安装在T:\Symbols
文件夹中。
但是当我调试 64 位本机 C++ 应用程序时,符号根本不会加载。例如ntdll.dll
,PDB 位于:
T:\Symbols\ntdll.pdb\6192BFDB9F04442995FFCB0BE95172E12
T:\Symbols\ntdll.pdb\CFF40300FD804691B73E12CF2A150EE02
但是 Visual Studio (2008/2010) 不会加载符号。在调试时,从模块视图中,我选择ntdll.dll
并说Load Symbols From -> Symbol Path
,指定ntdll.pdb
. 对于提到的两条路径,它总是会说:
在此文件夹中未找到匹配的符号文件。
我还添加了这个文件夹 ( T:\Symbols
) Debugging -> Options
,但它仍然不会加载符号。在调试时,Load All Symbols
按钮将被启用,并且单击也不会加载符号!
对于 32 位,PDB 文件名将wntdll.pdb
用于ntdll.dll
并且将以上述方式存储在以 GUID 命名的文件夹中。但是 VS 也不会为 32 位调试加载符号。
非常有趣(也令人沮丧),当我选择 时,它会完美地Load Symbols From -> Microsoft Symbols Server
下载和加载符号。它将在以下位置下载符号(完整路径ntdll
):
\Users\...\AppData\Local\Temp\SymbolCache\ntdll.pdb\6192BFDB9F04442995FFCB0BE95172E12
在这里您可以看到 GUID 与路径中以 GUID 命名的文件夹匹配T:\Symbols
,但是对于手动安装的符号 VS 是刚性的,不加载它!
对于 NTDLL.PDB,尽管各自的文件夹相同,并且 PDB 的大小也相同,但时间戳可能会有所不同。
有时 VS 也会在以下位置放置符号:
C:\...\AppData\Local\Temp\SymbolCache\MicrosoftPublicSymbols
如果 VS 只能从 Microsoft Symbols Server 下载正确的符号,那么本地下载的符号有什么用?
我的问题基本上是如何加载本地下载和安装的符号?
visual-studio - 从“符号服务器”查看源代码而不进行调试?
我知道可以将我们的源代码/符号发布到符号服务器,或者使用SymbolSource.org 之类的东西来允许我们在引用 DLL 时进入代码。
但是当我们不在调试会话中时,我发现无法访问相同的代码。
SymbolSource.org 有一个演示计算器应用程序,如下所示:
当我调试时,我可以轻松地进入 Add() 并查看源代码,但是当我只是查看代码时,没有办法做到这一点。
我猜出于某种原因这是不可能的 b/c 这将非常有帮助,我没有看到有人谈论如何做到这一点。
symbol-server - Symstore 删除错误
symstore.exe 工具的删除功能的使用方法如下:
我有很久以前存储的符号,我想删除它们。D:\Symbols\[productname]
是保存符号的根。我使用以下行调用该工具:
它给出了以下错误:
该错误表明它将路径识别为有效的符号服务器。我已经仔细检查了 000Admin 文件夹D:\Symbols\[productname]\000Admin\
,它确实有从 0000000001 到 0000001261 的事务。我也尝试过删除其他事务,但最终出现相同的错误。history.txt、lastid.txt 和 server.txt 也在那里。我错过了什么?
c++ - 为什么 WinDbg 无法从带有 Service Pack 2 x86 零售符号下载的 Windows Server 2003 加载符号?
我在 Windows XP Professional Version 2002 Service Pack 3 上使用 Microsoft Visual Studio 2005 Verison 8.0.50727.762 (SP.050727-7600) 编写了一个名为“Foo”的 C++ 项目。我将该项目构建到 Foo.exe 中。然后,我将文件 Foo.exe 复制到 Windows Server 2003 Enterprise Edition Service Pack 2。它运行良好。
现在,我尝试使用 WinDbg:6.12.0002.663 X86 版本 5.2 对其进行调试。
未设置符号路径、源路径或图像路径
当我C:\foo\Foo.exe
从“文件 > 打开可执行文件”菜单打开时,我看到此错误:
Foo.pdb 不在存在 Foo.exe 的同一文件夹中。为什么我没有看到 Foo.exe 的错误?
在 WinDbg 中运行命令ld *
时,我看到以下错误:
现在,让我展示两次修复它的尝试。一个有效,另一个没有。
下载带有 Service Pack 2 x86 零售符号的 Windows Server 2003 不起作用
我去了http://msdn.microsoft.com/en-us/windows/hardware/gg463028并下载了:
带有 Service Pack 2 x86 零售符号的 Windows Server 2003,所有语言(文件大小:154 MB - 大多数客户都需要此软件包。)
我运行它并将符号安装在C:\Symbols
. 在 WinDbg 中,我将符号路径设置为:
C:\MySymbols
包含 Foo.exe 的符号,该符号具有文件名:Foo.pdb。
从“文件 >打开C:\foo\Foo.exe
可执行文件”菜单打开时,我遇到了上一节中提到的相同错误。
但是,该ld *
命令这次显示的错误较少。
使用 Microsoft 符号服务器修复它
这次我将符号路径设置为:
现在,C:\foo\Foo.exe
从“文件 > 打开可执行文件”菜单打开时,我没有收到任何错误。我发现C:\microsoftsymbols\ntdll.pdb\F7024C7F15FE4BEA992FF38BE58AC11C2\ntdll.pdb
是自动下载的。
这个时间ld *
命令也运行良好,没有任何错误。
命令运行时会自动下载以下附加符号。
问题
- 未指定符号路径时,为什么我没有看到有关 Foo.exe 符号文件的错误?
- 为什么下载带有 Service Pack 2 x86 零售符号的 Windows Server 2003 并将其路径指定为符号路径不起作用?
更多信息
如果它可以帮助您回答我的问题,这是我从 winmsd.exe > 系统摘要中获得的系统详细信息:
c# - 如何创建和使用符号服务器?
我创建了一个 powershell 脚本,它在构建设置为发布后从放置位置获取所有 pdb 文件,并将它们复制到网络上共享的文件夹中。
我还创建了一个示例应用程序,并添加了包含我需要的程序集的 nuget 包(没有 pdb 文件)。
我在网上找到了一些参考资料,但我无法使用 pdb 文件调试我的程序集。我正在使用 VPN 连接来连接到包含 pdb 文件和 Visual Studio 2010 的共享文件夹。
为了使用在网络上共享的 pdb 文件能够调试我使用 nuget 包管理器获得的程序集,我需要执行哪些确切步骤?
谢谢 !
c++ - 有什么办法可以在内部镜像 Microsoft 的符号服务器?
我们有一个无法访问互联网的内部隔离实验室网络。我们经常在此网络上的 PC 上运行各种工具,这些工具需要与这些 PC 上安装的 Windows/MSVC(pp)/MFC 二进制文件相对应的符号。我们运行的工具之一是 Visual Studio 独立分析器(即 vsperfcmd/vsperfreport/etc)。目前我们可以很容易地获得我们公司的符号......并且通过在 Internet 暴露的 PC 上挖掘我们的本地符号缓存,我可以手动找到与实验室网络中 PC 上的二进制文件相对应的符号。这是一个非常乏味、容易出错的过程,而且非常烦人。我想找到一种更好的方法来自动从我们的实验室网络中查找符号。
理想情况下,我想在实验室网络可见的常规网络上设置某种符号服务器,以便这些工具可以正常工作。有没有公认的方法来做到这一点?我可以镜像 MS 符号服务器或为本地网络提供某种代理吗?
dbghelp - 如何并排存储调试符号和二进制文件
最近我注意到,当使用 SymChk 从 Microsoft 符号存储下载符号时,它会带来 DLL 和 PDB。我想知道是否可以使用标准的微软工具(如 SymChk/SymStore)来存储二进制文件和符号?
c# - 如何为 C# 和 Java 设置符号服务器
Microsoft 提供了一种解决方案,允许人们使用符号服务器轻松管理和检索其代码的符号文件。
我们同时使用 c# 和 Java,我想知道是否有一种方法可以设置类似于 Symbol Server for Java 的东西,是否可以让它成为同一个服务器。
谢谢你!
nuget-package - 如何对 SymbolSource Server Basic 进行故障排除
我按照此博客条目中的说明安装并运行了SymbolSource Server Basic。
我可以成功地将包(*.nupkg 和 *.symbols.nupkg)从 TeamCity 推送到我的服务器而没有错误。然而,虽然 NuGet 端在 Visual Studio 中运行良好,但符号服务器却无法运行。我发现我本地网站的 Data 文件夹包含我推送的标准 NuGet 包,但没有任何源代码的迹象。
我应该在哪里查找错误消息,或者我如何才能知道为什么我的 *.symbols.nupkg 似乎没有被正确推送到服务器?