开网站
安装IIS, 添加一个网站, 配置好物理路径.
添加MIME, 扩展名为"*", 类型为"application/octet-stream", 即允许下载所有文件.
好了, 就那么简单~
把pdb发布到网站中
我这里建立了一个名叫"test"的网站, 物理路径为"C:\www"
在二进制目录打开CMD, 运行命令:
symstore add /s C:\www\symbols /t chanpin /f *.*
其中/t指定的是产品名, 必选参数, 其他也可以设置版本号/v, 注释/c
好了, 还是那么简单~
删除过时的pdb符号
在上一步发布符号的时候, 工具会报告操作ID, 比如上一步工具反馈的信息是
Finding ID... 0000000004
SYMSTORE: Number of files stored = 2
SYMSTORE: Number of errors = 0
SYMSTORE: Number of files ignored = 0
那么删除此次添加的文件, 运行命令:
symstore del /s C:\www\symbols /i 0000000004
反馈信息如下:
Finding ID... 0000000005
SYMSTORE: Number of references deleted = 2
SYMSTORE: Number of files/pointers deleted = 0
SYMSTORE: Number of errors = 0
好了, 依旧是那么简单~
使用符号
上面介绍了符号的发布以及删除, 下面就要使用符号了.
在WinDBG中添加符号连接: http://ip/symbols 即可, WinDBG就会自己找符号了.
注意: 生成bin时, 记得在"连接器->高级"中选择"设置校验和", 否则很容易找不到符号, 即使pdb发布了.
结束语
其实http只是一种方式, 在linux上也行.
即linux搭建http服务器之后, 通过SMB共享网站目录, 在本机 (Windows)上使用symstore进行发布即可.
甚至连http都不要, 直接通过SMB也行, WinDBG支持\\ip这样的符号服务器地址.