Windows 7 WinDbg不';无法在提供的路径中真正搜索pdb文件
当我在简单的演示应用程序中提供一个符号路径时,它工作得很好,但在实际应用程序中,它不支持pdb!我以相同的方式添加两种情况下的路径(实际路径明显不同): 它可以在演示中工作的原因是我做了“打开可执行文件”。对于我的实际应用程序,我正在打开一个崩溃转储文件。但这真的有什么区别吗 我已确保提供了图像文件路径和符号路径,但详细输出没有显示任何迹象表明它正在所提供的文件夹中查找pdb文件或对其进行缓存 例如,在演示的情况下,下面一行指示缓存的文件(因此它被读取) 但实际应用程序的详细输出中并没有类似的行,我在上面做了windows搜索。你有什么理由认为它可能不在那个文件夹中 请注意,我没有确切的pdb文件,我希望看到“不匹配的pdb”消息,但我没有得到 我也经历过,我没有访问实际构建机器的权限,但我希望它至少按照我给出的路径搜索文件 更新 .symapth的输出为:Windows 7 WinDbg不';无法在提供的路径中真正搜索pdb文件,windows-7,windbg,Windows 7,Windbg,当我在简单的演示应用程序中提供一个符号路径时,它工作得很好,但在实际应用程序中,它不支持pdb!我以相同的方式添加两种情况下的路径(实际路径明显不同): 它可以在演示中工作的原因是我做了“打开可执行文件”。对于我的实际应用程序,我正在打开一个崩溃转储文件。但这真的有什么区别吗 我已确保提供了图像文件路径和符号路径,但详细输出没有显示任何迹象表明它正在所提供的文件夹中查找pdb文件或对其进行缓存 例如,在演示的情况下,下面一行指示缓存的文件(因此它被读取) 但实际应用程序的详细输出中并没有类似的行
0:000> .sympath+ C:\Test\56RC\Release
DBGHELP: Symbol Search Path: cache*;SRV*https://msdl.microsoft.com/download/symbols;c:\test\56rc\release
DBGHELP: Symbol Search Path: cache*;SRV*https://msdl.microsoft.com/download/symbols;c:\test\56rc\release
Symbol search path is: srv*;C:\Test\56RC\Release
Expanded Symbol search path is: cache*;SRV*https://msdl.microsoft.com/download/symbols;c:\test\56rc\release
************* Symbol Path validation summary **************
Response Time (ms) Location
Deferred srv*
OK C:\Test\56RC\Release
据我所知,WinDbg将在提供的路径中搜索。(实际上,这不是WinDbg,而是WinDbg将工作委托给,但出于简单的原因,我在下面将其称为WinDbg) 然而,我看到了,我可以重现你所遇到的问题
.sympath
,.exepath
,.srcpath
),还搜索其他目录,例如存储在可执行文件自身调试目录中的PDB路径(请参阅)!sym noised
WinDbg不会输出其搜索的所有路径。这是不幸的,但只有微软能改变这一点,所以我们不得不接受它。如有疑问,请与.pdb
过滤器一起使用,以真正找出WinDbg试图访问符号的位置srv*
、symsrv*
、cache*
和排序)或符号的加载顺序(在子文件夹中,如dll
、symbols
、symbols\dll
)是的,你现在很难回答,但是看看问题的历史,你已经学到了很多,并且已经习惯了,就像我和其他几个人一样。sympath的输出是什么?通过
.sympath+
它正在添加一个文件夹,因此我们不知道c:\test\app\pdb
是否已在路径中。另外:是否使用EXE?找出WinDbg在何处查找符号的唯一正确方法是使用进程监视器。即使使用!sym noise
我遇到WinDbg没有输出它搜索到的目录的情况。@ThomasWeller我将输出添加到问题中,exe呢?它是否包含指向PDB的路径?@ThomasWeller是的,这就是我一直在做的,创建了相同的路径并将PDB文件放在那里,但至少要说一句,它为什么不在我提供的路径中搜索,这很烦人。
DBGHELP: c:\test\app\pdb\App.pdb cached to C:\Program Files (x86)\Windows Kits\10\Debuggers\x86\sym\App.pdb\FF12D89B77D742CAB1CB145EC85C2ABD1\App.pdb
0:000> .sympath+ C:\Test\56RC\Release
DBGHELP: Symbol Search Path: cache*;SRV*https://msdl.microsoft.com/download/symbols;c:\test\56rc\release
DBGHELP: Symbol Search Path: cache*;SRV*https://msdl.microsoft.com/download/symbols;c:\test\56rc\release
Symbol search path is: srv*;C:\Test\56RC\Release
Expanded Symbol search path is: cache*;SRV*https://msdl.microsoft.com/download/symbols;c:\test\56rc\release
************* Symbol Path validation summary **************
Response Time (ms) Location
Deferred srv*
OK C:\Test\56RC\Release