Unity 控制台无法正常工作
Unity console doesn't work properly
通常,当我使用 Debug.Log() 打印某些内容时,它会显示在控制台中,我可以双击它以转到函数调用。此外,单击会展开文本以显示调用的一种历史记录(某个函数调用另一个函数调用另一个函数,依此类推。直到 Debug.Log() 被调用)。
但现在我只得到这种奇怪的行为,其中函数调用被堆栈的内存地址替换。
我还不能 post 图片所以这里是 what the console looks like
我仍然可以通过展开消息找到调用发生的位置,但这是一场噩梦
你能找到电话吗?
提示:它来自 PointCloudGenerator.cs 第 290
行
它不会那么糟糕,但问题是双击行为根本不起作用,试图找出呼叫的来源是非常令人沮丧的。警告和错误也会发生完全相同的事情。
编辑:我使用的是 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);
}
}
}
`
它在一个协程中,但当它在我的代码中的任何地方时它做同样的事情真的
右键单击控制台 window tab/title 框并将堆栈跟踪日志记录设置为仅脚本而不是完整。
在大多数情况下,这也应该可以解决 "double click to open" 问题。
通常,当我使用 Debug.Log() 打印某些内容时,它会显示在控制台中,我可以双击它以转到函数调用。此外,单击会展开文本以显示调用的一种历史记录(某个函数调用另一个函数调用另一个函数,依此类推。直到 Debug.Log() 被调用)。
但现在我只得到这种奇怪的行为,其中函数调用被堆栈的内存地址替换。
我还不能 post 图片所以这里是 what the console looks like
我仍然可以通过展开消息找到调用发生的位置,但这是一场噩梦
你能找到电话吗? 提示:它来自 PointCloudGenerator.cs 第 290
行它不会那么糟糕,但问题是双击行为根本不起作用,试图找出呼叫的来源是非常令人沮丧的。警告和错误也会发生完全相同的事情。
编辑:我使用的是 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);
}
}
}
` 它在一个协程中,但当它在我的代码中的任何地方时它做同样的事情真的
右键单击控制台 window tab/title 框并将堆栈跟踪日志记录设置为仅脚本而不是完整。
在大多数情况下,这也应该可以解决 "double click to open" 问题。