窗口10

如何在不到一分钟的时间内解决Windows10崩溃。

1个2个4个5个6个7个9个 第5页
第5页共9页

什么是符号,为什么你需要它们

安装了WinDbg–但在调用转储文件之前-你需要符号表文件.软件的符号文件就像高速公路上的出口标志;如果你停在那里,它们会告诉你什么位置。它们是将源代码编译成可执行文件(从高级语言编译成机器代码)的副产品。在这个过程中,编译器创建符号文件,其中包含标识符列表、它们在程序中的位置以及它们的属性。

但是,程序不需要这些信息来执行,因此符号通常存储在单独的文件中。这减少了可执行文件的大小,从而减少了磁盘空间的使用,加快了加载和操作速度。此外,这些符号文件通常不随操作系统或它们来自的应用程序一起提供。问题是,当程序导致问题导致系统故障时,操作系统只知道问题发生的十六进制地址,而不知道谁在那儿他在做什么。幸运的是,微软提供了对SymServ的访问,解决了这个问题。

打开内存转储时,WinDbg会查看可执行文件(.exe、.dll等)并提取版本信息。然后,它创建一个对微软SymServ的请求,该请求包含版本信息,并定位要从中提取信息的精确符号表。如前所述,它不会下载您正在排除故障的特定操作系统的所有符号;它只下载所需的符号。

在这种情况下,对于这台Windows 10 PC,symbol文件文件夹的大小最终为22MB。在运行了多次崩溃测试之后,该文件夹大约为35MB。在另一个系统上,我从几台不同的电脑上运行了许多测试,这个文件夹仍然低于100MB。请记住,如果您从其他计算机(使用操作系统的变体)打开文件,则文件夹的大小可能会继续增大。

或者,您可以选择从Microsoft下载并存储完整的符号文件。在此之前,请注意,对于每个符号包,您至少应该有1GB的可用磁盘空间。这是因为,除了存储文件所需的空间外,还需要用于存储所需临时文件的空间。即使现在硬盘的成本很低,但使用的空间也值得注意。

  • 每个x86符号包可能需要750 MB或更多硬盘空间。
  • 每个x64符号包可能需要640 MB或更多。

除非另有说明,否则符号包是非累积的,因此如果您使用的是SP2 Windows版本,则在安装SP2的符号之前,需要安装原始RTM版本和SP1的符号。

如果要下载符号文件并将其保存在本地(请确保下载前阅读系统要求).

SymServ(又名:SymSrv/Symbol Table Server)是微软为确保准确的内存转储分析而免费提供的一项极其重要的服务。要使用它,只需配置WinDbg来定位它,SymServ将自动检索特定于转储来自的确切版本的Windows的符号。而且,在分析了一台机器上的转储文件之后,如果从另一台机器上调用转储文件,WinDbg和SymServ也将自动检索该版本操作系统的符号。

相关:
1个2个4个5个6个7个9个 第5页
第5页共9页
IT薪资调查:结果是