我试图获得一个堆栈跟踪而不抛出异常,它工作(人类可读),我唯一的问题是两种方法之间的格式是不同的 . 这是Unity的一个问题,因为它解析了从throw到open VS到关联行#的格式 . 因此,如果我使用新的StackTrace,格式关闭,双击Unity中的日志不会做任何事情 . 如何获得一个新的stacktrace来匹配throw的stacktrace格式?

public class TestScript : MonoBehaviour
{
    private void Awake()
    {
        string throwTrace = null;
        string newTrace = null;
        try
        {
            newTrace = new System.Diagnostics.StackTrace(0, true).ToString();
            throw new Exception();
        }
        catch (Exception e)
        {
            throwTrace = e.StackTrace;
        }
        Debug.Log("throwTrace: {" + throwTrace + "}");
        Debug.Log("newTrace: {" + newTrace + "}");

    }
}
throwTrace: {  at TestScript.Awake () [0x00013] in /Users/lol_tim/New Unity Project/Assets/TestScript.cs:17 }

newTrace: {   at TestScript.Awake() in /Users/lol_tim/New Unity Project/Assets/TestScript.cs:line 16}