断点当前不会被击中。 Unity中没有为此文档加载任何符号

时间:2017-10-13 00:08:47

标签: c# debugging unity3d breakpoints coroutine

我正在尝试使用VS2017在Unity中调试协程。

当我将VS附加到Unity并在IEnumerator方法中设置断点时,我收到错误“断点不会被击中”

enter image description here

这里有深入讨论: How do I remedy the "The breakpoint will not currently be hit. No symbols have been loaded for this document." warning?

然而,这些答案都不适合我。

您知道如何在VS2017中的IEnumerator中设置断点吗?

7 个答案:

答案 0 :(得分:7)

这是Unity中的已知错误。以下是解决此问题的方法:

1 。转到文件 - > 构建设置... 然后选择您的平台。

2 。点击播放器设置 - > 其他设置并将API兼容级别更改为.NET 2.0。

如果已将其设置为 .NET 2.0 ,请将其更改为 .NET 2.0 Subset ,然后再将其更改为 .NET 2.0

3 。关闭并重新打开Visual Studio。从Visual Studio,转到 Build - > 清洁解决方案然后构建 - > 重建解决方案

再次尝试调试,它应该可以正常工作。

如果上述步骤不起作用,请转到Project的“文件夹”文件夹,然后将其删除。重新启动Unity和Visual Studio。

答案 1 :(得分:1)

在我的情况下,这是因为我使用的是“附加到进程”而不是“附加到Unity ...”。后者不可用,因为VS的Unity插件无法安装。

答案 2 :(得分:0)

我有同样的问题。以下步骤解决了我的问题。

  1. 导航至 build->配置管理器

  2. 检查项目配置。如果设置为 生产 ,请将此值更改为 debug

答案 3 :(得分:0)

我找到了解决方案(解决方法)。 您需要将属性[InitializeOnLoad]添加到类中。

答案 4 :(得分:0)

我花了足够的时间找到解决方案。转到Build-> Configuration Manager并将Active Solution Configuration更改为Debug。

答案 5 :(得分:0)

在我的情况下,这发生在该脚本未附加到场景中的任何地方的情况下,因此,断点将永远不会被击中……使用C ++的人无法预料的事情。不过,这是一个很好的副作用。

答案 6 :(得分:0)

所以,我也有这些 统一不知道您正在使用哪个脚本工具。

  1. 在Unity中,执行“编辑”->“首选项”。

  2. 在打开的“首选项”窗口中,选择“外部工具”选项卡。

  3. 单击“外部脚本编辑器”下拉菜单。

  4. 单击浏览。

  5. 如果尚未选择Visual Studio 2017,请选择

GoodLuck(;

(: