防止 Visual Studio 加载符号

20

我正在使用Visual Studio 2015。

我想要防止加载所有核心dll(如System.Net,System.Web等)的符号,我只想加载在我的解决方案中的dll的符号。

我已经进行了以下设置:

输入图片说明

即 在工具 >> 选项 >> 调试 >> 符号 中选择 只加载指定的模块。

我已添加要加载符号的几个dll。但是当我运行我的解决方案时,我仍然可以看到VS状态栏正在加载像System.Net,System.Web等核心库的符号。

输入图片说明

如何阻止这种情况发生?

我只想加载在我的解决方案中的4个dll的符号,因为我的意图是仅调试这些dll,而不是System核心dll。

这是否可能?

或者VS是否总是会加载核心文件的符号?


谢谢,我已经修复了那个破链接 https://blogs.msdn.microsoft.com/visualstudioalm/2015/03/03/make-debugging-faster-with-visual-studio我已经查看了那个链接,所以我缩小了我的问题范围。你能帮我解决我提到的具体问题吗? - Raghav
我刚刚配置了相同的符号选项(仅指定模块,输入我的模块名称,取消选中“始终加载与模块相邻的符号”),当我将我的VS附加到w3wp.exe进程时,它没有为我加载System.Dynamic等模块。我不确定你那边出了什么问题。抱歉。 - Jason Evans
你可以直接运行VS解决方案,而不是将VS附加到IIS中的某个网站的w3wp.exe上。我只是运行我的解决方案并查看符号加载情况。我已经重新启动了我的VS。 - Raghav
当我将VS附加到w3wp.exe(在更改符号设置之前)时,VS会显示加载其符号的多个模块。现在,加载符号对话框仅出现一秒钟左右,因此对我来说肯定有些变化。 - Jason Evans
让我们在聊天中继续这个讨论 - Raghav
显示剩余3条评论
3个回答

1
以下步骤解决了我的类似问题:
在工具 -> 选项 -> 调试 -> 符号中,
a. 启用“Microsoft符号服务器”选项
b. 单击“清空符号缓存”

1
我也遇到了这个令人沮丧的问题,最终发现只要为“在此目录中缓存符号”设置了路径,Visual Studio 2022就会尝试加载非解决方案项目和包引用的符号。取消勾选符号服务器或选择“仅加载指定的模块”几乎没有效果,因为这只意味着VS2022不会下载任何新的符号,而仍然使用缓存的符号。
这会导致各种令人恼火的问题,比如使“启用仅限我的代码”设置无效,并且在.Net框架代码中(无害的)异常上不断中断调试器。
虽然通过点击“清除符号缓存”按钮可以解决“启用仅限我的代码”问题,但在停止调试时仍会在输出窗口中出现大量的符号加载错误。为了摆脱这些烦人的错误和符号加载对话框,确保根本没有指定路径。

Symbol cache directory


0

如果您有一个名为"_NT_SYMBOL_PATH"的环境变量,这可能是原因。据我所知,符号将加载,无论Visual Studio设置如何。有关此变量的更多信息,请查看此处


嗯,我在系统变量中检查了一下,_NT_SYMBOL_PATH这个变量里什么都没有。 - Raghav

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接