如何强制Visual Studio调试器保留已卸载库的符号用于内存泄漏检测
Visual Studio 2015保留已卸载库符号的操作方法
方法1:修改调试器全局符号设置
- 依次点击菜单栏的
工具->选项->调试->符号 - 勾选页面底部的强制将所有符号加载到调试会话中选项,开启后调试器不会随模块卸载自动清理已加载的符号数据
- 保存设置后重启调试流程即可生效
方法2:配置固定模块符号加载规则
- 启动调试后,打开
调试->窗口->模块面板 - 选中所有需要保留符号的动态库,右键点击选择始终手动加载符号
- 提前将对应库的PDB文件存入本地符号缓存目录,避免符号被卸载后无法重新匹配地址
方法3:调整内存分析的捕获配置
- 打开性能探查器的内存泄漏分析配置页
- 勾选完整记录模块生命周期与调用栈选项,开启后性能工具会全程留存所有模块的加载地址、符号映射关系,分析阶段会自动关联已卸载模块的分配记录对应的符号
注意:如果出现符号匹配失败的情况,可以在符号设置页将所有依赖库的PDB存放目录添加到符号搜索路径顶部,优先级高于系统默认的符号缓存路径,提升匹配准确率。
内容的提问来源于stack exchange,提问作者Muxecoid
相关产品推荐
相关产品推荐

