JBS*_*rro 61 .net c# debugging
我尝试通过遵循此MDSN演练来设置调试.NET源代码.符号缓存已正确设置,检查"启用.NET Framework源步进"也是如此.
但随后,每当我想进入.NET代码时,系统都会提示我指定相关cs文件的位置.错误消息是
You need to find <filename>.cs to view the source for the current call stack frame
和The debugger could not locate the source file <filename>.cs
.
我被提议浏览文件(但我没有它)或查看反汇编(但我不希望这样).
如何进入.NET源代码?
小智 103
好吧,在我的情况下,我并没有尝试调试.Net框架,但我得到了同样的错误:无法找到.cs文件来调试.NET源代码.所以我必须在" 工具 - >选项 - >调试 - >常规 - >启用我的代码"下打开"仅启用我的代码"选项
按MS文档:
您可以将Visual Studio配置为自动切换系统,框架和其他非用户调用,并在调用堆栈窗口中折叠这些调用.
https://docs.microsoft.com/en-us/visualstudio/debugger/just-my-code
JBS*_*rro 41
检查Tools
- > Options
- > Debugging
- > General
- > Enable source server support
神秘地使一切正常.我希望你也是如此
Hom*_*ade 12
我已经尝试了上面的所有答案,但没有任何效果。
这为我解决了:
Debug
-> Delete all Breakpoints
它解决了问题!导致这个问题的原因有很多。
Eat*_*oes 10
这里的答案都在谈论忽略/避免源代码而不是实际进入它。
@JBSnorro
是在正确的轨道上,但问题是 Microsoft 似乎没有发布您可能遇到的所有 .NET 符号/源。我不知道这是否是他们有意为之,但要进入 MS 源,他们需要发布每个程序集的每个版本,这是一项重大的后勤任务。
Tools
-> Options
-> Debugging
-> General
->Enable source server support
将在许多情况下工作,但我发现例如mscorlib.dll
4.6.1 缺少符号和/或反编译源。所以我不能像Dictionary.cs
或Task.cs
作为例子那样进入常见的源代码。由于 MS 符号服务器的源代码和符号可能一直在变化。当您阅读本文时,我的问题可能已解决?
当我在 Jetbrain 的 Rider 中调试相同的解决方案时,我可以毫无问题地查看并逐步浏览每个 .NET 程序集中的每个类。但是在VS中我只能进入某些课程而不能进入其他课程?
如果您真的致力于进入所有 .NET 源代码,您可以使用 Jetbrain 的 DotPeek 并将 .NET 程序集反编译为实际的 .cs 文件到您的磁盘。那么当你看到这个的时候
您现在可以浏览您的磁盘到您使用 DotPeek 反编译的源代码。只要确保您反编译了您在项目中引用的相同程序集版本。否则,符号可能与正确的源代码行号不匹配。
相反,如果您只是想隐藏这个“找不到源”不断出现,并且不想进入没有来源的代码,请阅读@Alex Sherman
的答案。您需要确定违规文件包含在哪个程序集,然后将该程序集名称添加到排除列表中。
深思熟虑,我不是 VS 的 Rider 粉丝。Rider 仍然是原始的,并且缺乏 VS 拥有的大量内置工具。然而!!我喜欢在这种情况下并排安装它,我知道我可以更深入地研究杂草。
Sha*_*ani 10
在构建之前清理解决方案为我解决了这个问题。
只需导航并点击:
Build
-> Clean Solution
.Build
-> Build Solution (Ctrl + Shift + B)
. 归档时间: |
|
查看次数: |
56190 次 |
最近记录: |