Csharp/C#教程:为什么我的C#调试器会跳过断点?分享


为什么我的C#调试器会跳过断点?

我的C#调试器无法正常工作。 它有时会跳过断点和代码行。 我检查了配置管理器。 我甚至尝试将我的项目添加到新的解决方案文件中。 有人可以帮帮我吗?

我的调试清单:

在某些情况下,您可能会发现在附加调试器的位置不会加载模块(例如,如果您有某种插件archetecutre,并且插件程序集仅在您第一次使用时加载)。 在这些情况下,您所能做的就是尝试确保在加载模块时准备好所有内容。

确保禁用优化(这是Debug配置的defaut,但它们在Release配置中启用)。 编译器优化可能会破坏调试器…

你确定它编译正确吗? 听起来像你正在调试以前的版本,如果构建失败可能会发生这种情况(可能是代码错误,也许文件是只读的)。

如果要跳过整个方法,请查看源代码并查看是否存在System.Diagnostics.DebuggerStepThroughAttribute属性。

尽管有这个免费精选名字大全,它还是通过逐步调试方法来防止调试器。

这听起来像您的源代码与PDB文件不同步。 最简单的解决方案是清理解决方案(从bin文件夹中删除所有dll)。 重新编译,然后再次尝试单步执行。

如果仍然失败,请尝试关闭解决方案并删除“obj”文件夹。 然后再试一次。

还要检查你是否正在编译调试模式 – 我经常做的事情(“为什么不是它踩到了?!”)没有获得断点

如果有时至少有点断点,​​则表示所有设置都可能正常。

缺少的命中可能是由一些副作用引起的,例如:调试器的属性评估(至少VS在调试器的属性评估期间跳过断点)或一些间谍工具(但这些通常由调试器捕获)。

如果您认为可能是这种情况,请关闭间谍工具并通过调试器禁用属性评估 。

这有时可能还不够,例如:如果您的属性返回一个集合,则显示例如Count()将评估该属性 – 因此还要从监视窗口中删除所有属性引用等。

这在VS 2017中适用于我,转到工具>选项,然后在选项窗口下转到调试部分。 启用 – “启用.NET Framework源步进”

禁用“项目属性/构建/优化代码”对我有用。

如果你遇到这种错误:

当前的.NET SDK不支持以.NET Core 2.1为目标。 要么是.NET Core 2.0或更低版本,要么使用支持.NET Core 2.1的.NET SDK版本。 DCR_Parser

右键单击解决方案资源管理器中的项目,然后单击“属性”。 在Application选项卡下,转到Target framework .NET Core 2.0。 并保存。

上述就是C#学习教程:为什么我的C#调试器会跳过断点?分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/1007891.html

(0)
上一篇 2021年12月29日
下一篇 2021年12月29日

精彩推荐