项目上线了64位的软件,发现dump解析时堆栈不全,很多奇怪的地址:
64位只有pdb,没有二进制文件:
64位有pdb,也有二进制文件:
64位的这个问题把二进制文档和pdb放在一起就正常了。32位的发现没有二进制文件也可以正常解析出堆栈。
所以就在思考一个问题,为什么我们的项目下载下来的只有pdb文件没有二进制文件,微软模块下载的有pdb也有二进制文件。
微软模块下载的符号:
我们项目下载的符号(没有二进制文件):
最后发现:
1、部署符号服务器的时候没有把二进制文件和pdb一起上传。
2、symstore部署符号服务器的时候命令行有点问题。
部署符号服务器的命令行:
symstore.exe add /f D:\proj_release_dir /s e:\pdb_test /t ProductName /r /z pri
微软官方文档:https://learn.microsoft.com/en-us/windows/win32/debug/using-symstore
参考了另外的博客:https://blog.csdn.net/hgy413/article/details/80557445