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

问题描述 投票:6回答:6

我正在尝试使用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中设置断点吗?

c# debugging unity3d breakpoints coroutine
6个回答
7
投票

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

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

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

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

3.关闭并重新打开Visual Studio。从Visual Studio,转到Build - > Clean Solution,然后构建 - > Rebuild Solution。

再次尝试调试它应该工作。


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


1
投票

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


0
投票

我遇到过同样的问题。以下步骤解决了我。

  1. 导航到build->配置管理器。
  2. 检查项目配置。如果将其设置为production,请将此值更改为debug。

0
投票

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


0
投票

在我的情况下,当这个脚本没有附加到场景中的任何东西时发生这种情况,因此,断点永远不会被击中...某些使用C ++工作的人意想不到的东西。不过,这是一个很好的副作用。


-1
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.