我们正在向公众发布一个应用程序,我们不想在其中包含完整的符号。因此,我们按照官方文档中提到的方式剥离它们(使用符号调试,PDBstripped)。完整符号和剥离符号均已正确生成,我们将完整符号存储在专用位置(共享驱动器),并以剥离符号交付产品。到目前为止一切都很好。
当我们想要调试已发布的应用程序(即崩溃转储)时,会发生问题 - 我们从 Visual Studio 打开转储,它会自动加载应用程序附带的本地符号(剥离版本)。一旦我们删除这些(删除本地 pdb),因为找不到本地符号,它将开始搜索网络路径并从那里正确加载正确的完整符号。
附上通用 VS 的选项表单,我们在“Microsoft 符号服务器”下方正确指定了路径并且有效:
有什么方法可以覆盖该行为并优先加载完整符号? IE。使本地符号的优先级低于网络位置的符号?或者,当我们刚刚剥离符号时,我们可以以某种方式强制在网络位置上加载搜索吗?
在具有多个独立项目的 Visual Studio 解决方案中,您可以选择启动调试器的项目。解决方案资源管理器显示当前启动项目的粗体图标。