Unity控制台无法正常运行

时间:2018-02-12 21:47:06

标签: c# unity3d console stack-trace

通常,当我使用Debug.Log()打印内容时,它会显示在控制台中,我可以双击它以进入函数调用。此外,单击一下即可展开文本以显示一种调用历史记录(某个函数调用另一个调用另一个函数的函数,依此类推。直到Debug.Log()被调用)。

但现在我只得到这种奇怪的行为,其中函数调用被堆栈的内存地址替换。

我无法发布图片,所以这里是what the console looks like

我仍然可以设法通过扩展消息找到通话的位置,但这是一场噩梦

你能找到电话吗? 提示:它来自第290行的PointCloudGenerator.cs

它不会那么糟糕,但事实是双击行为根本不起作用,并且尝试找出呼叫发起的位置是非常令人沮丧的。警告和错误也会发生同样的事情。

编辑:我正在使用Unity 5.6.3p3,而我的编辑器是Visual Studio 2017 Enterprise

这是调用日志的地方:

private IEnumerator ReadCornerData(long capacity, CloudBounds cloudBounds)
{
    List<Vector3> corners = new List<Vector3>();
    List<Vector3> borders = new List<Vector3>();

    using (MemoryMappedFile memoryMappedFile = MemoryMappedFile.CreateOrOpen("Global\\CornerData", capacity, MemoryMappedFileAccess.ReadWrite))
    {
        using (MemoryMappedViewAccessor accessor = memoryMappedFile.CreateViewAccessor())
        {
            byte dataAvailable = 0;
            accessor.Write(0, ref dataAvailable);
            accessor.Write((int)capacity / 2, ref dataAvailable);

            int memIndex = 0;
            while (dataAvailable != 0xF)
            {
                accessor.Read(memIndex, out dataAvailable);
                yield return new WaitForEndOfFrame();
            }
            UnityEngine.Debug.Log(dataAvailable);
        }
    }
}

` 它是在一个协程中,但是当它在我的代码中的任何地方时它都做同样的事情

1 个答案:

答案 0 :(得分:1)

右键单击控制台窗口选项卡/标题框,将堆栈跟踪记录设置为仅脚本而不是完整。

在大多数情况下,这也应该解决“双击打开”问题。