已添加到SymInitialize()的搜索路径中。如果是这样,为什么不从符号服务器下载符号?
#1 楼
我对您的问题的标题感到有些困惑SQL Server或就此而言,除WinDbg或特殊符号检索器之外的任何其他应用程序都无法从ms符号服务器下载符号
您的意思是您所链接的博客中提到的在
symchk
上使用了sqlserver.exe
获取任何应用程序符号的一种简单方法是
设置
_NT_SYMBOL_PATH
:_NT_SYMBOL_PATH=SRV*F:\symbols*http://msdl.microsoft.com/download/symbols
在Internet连接有效的WinDbg中打开可执行文件
windbg SqlServer.exe
一旦WinDbg打开了应用程序
问题
.reload /f
,WinDbg将获取所有符号文件并将它们缓存在下游存储中(在上述情况下为F:\Symbols
)一旦相关的
.pdb
文件在缓存中可用,symsrv.dll
将使用缓存的符号文件,并且不会寻找有效的Internet连接不要将任何
.pdb
文件复制到任何本地文件夹中只需使用
_NT_SYMBOL_PATH
即可满足您的所有符号需求
评论
请正确使用格式。到目前为止,您的两个答案均以其原始形式出现了可怕的格式化问题。
– 0xC0000022L♦
13年5月5日在2:07
抱歉,我的意思是说扩展事件使您可以访问的环形缓冲区堆栈跟踪。
–贾斯汀·迪林(Justin Dearing)
13年5月5日14:38
@Justin Iam对SqlServer不太熟悉,我读了这篇文章,看到他提到SqlServer.pdb必须与sqlserver.exe位于同一目录中,任何显示调用堆栈的exe都应具有设置符号路径的选项,例如procmon来自sysinternals的将显示没有符号的原始堆栈,或者如果您填充符号路径选项,它将显示已解析符号的堆栈跟踪,我认为sqlserver可能也有这样的选项
– blabb
13年5月6日在19:33