欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Unity輸出帶點擊跳轉(zhuǎn)功能的Log實現(xiàn)技巧詳解

 更新時間:2022年11月18日 14:43:02   作者:7_erQ  
這篇文章主要為大家介紹了Unity輸出帶點擊跳轉(zhuǎn)功能的Log實現(xiàn)技巧詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

正文

在平常的Unity開發(fā)過程中,可能會遇到如:

1.使用Debug.Log替代輸出異常信息;

2.調(diào)試代碼時,源代碼在try{}代碼塊內(nèi)有較多或深層的調(diào)用;

3.想在輸出的Log中提示或是引導(dǎo)其他開發(fā)人員打開指定的腳本等情景。

在上述情景中,Debug.Log輸出的Log一般都是不帶點擊跳轉(zhuǎn)功能的,使得我們需要在長長的Log中尋找目標(biāo)文件,然后再對照著文件名,方法名在IDE中點開,并不是很方便。

不帶點擊跳轉(zhuǎn)的Log

public static void TestFunc() {
    try {
        TestCall_1("", 0);
    } catch (System.Exception e) {
        // 平時使用Debug輸出的Log是不帶點擊跳轉(zhuǎn)的
        Debug.LogError(e.ToString());
    }
}

輸出結(jié)果

如果在try catch中做了很復(fù)雜的操作,這樣的Log將會又長又亂

后來經(jīng)過反復(fù)比對帶點擊跳轉(zhuǎn)和不帶點擊跳轉(zhuǎn)的兩行Log,發(fā)現(xiàn)了Unity識別這種跳轉(zhuǎn)路徑的基本格式為:()[空格](at X:0),(空格不能省略)。因此只要把要跳轉(zhuǎn)的腳本路徑照這個格式封裝就能實現(xiàn)高亮點擊跳轉(zhuǎn)了。下面是演示代碼。

帶點擊跳轉(zhuǎn)的Log

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEditor;
using System.Text.RegularExpressions;
???????public class TestEditor {
    [MenuItem("測試/打印異常")]
    public static void TestFunc() {
        try {
            TestCall_1("", 0);
        } catch (System.Exception e) {
            string output = "使Log帶跳轉(zhuǎn)功能 \n";
            // 1.這是能被識別為帶點擊跳轉(zhuǎn)的格式:() (at XXX:0)
            output += "() (at X:0) \n";
             // 2.可以是絕對路徑,但格式好像只能是.cs文件,若.cs文件不存在,則會在IDE中打開一個新文檔
? ? ? ? ? ? output += "() (at " + @"C:/Users/7_erQ/Desktop/test.cs" + ":0) \n";

? ? ? ? ? ? // 3.用正則替換原Log為 XXX.xxx() (at XXX.cs:nnn)的格式,就能使Log帶跳轉(zhuǎn)功能了
? ? ? ? ? ? // 原Log: ?at TestEditor.TestCall_4 (System.String arg1, System.Int32 arg2) [0x00001] in F:\WorkStation\CodeSpace\UnityProjects\AssetLinkMapDemo\Assets\Temp\Editor\TestEditor.cs:41
? ? ? ? ? ? // 替換后: ?at TestEditor.TestCall_4 (System.String arg1, System.Int32 arg2) (at F:\WorkStation\CodeSpace\UnityProjects\AssetLinkMapDemo\Assets\Temp\Editor\TestEditor.cs:42)
? ? ? ? ? ? Regex reg = new Regex(@"\)\s\[0x[0-9,a-f]*\]\sin\s(.*:[0-9]*)\s");
? ? ? ? ? ? output += reg.Replace(e.ToString(), ") (at $1) ");
? ? ? ? ? ? Debug.LogError(output);
? ? ? ? }
? ? }

? ? public static void TestCall_1(string arg1, int arg2) {
? ? ? ? TestCall_2(arg1, arg2);
? ? }

? ? public static void TestCall_2(string arg1, int arg2) {
? ? ? ? TestCall_3(arg1, arg2);
? ? }

? ? public static void TestCall_3(string arg1, int arg2) {
? ? ? ? TestCall_4(arg1, arg2);
? ? }

? ? public static void TestCall_4(string arg1, int arg2) {
? ? ? ? throw new System.Exception();
? ? }
}

輸出結(jié)果

帶點擊跳轉(zhuǎn)的Log

這樣就可以直接點開定位到目標(biāo)文件和方法了 作者:7_erQ https://www.bilibili.com/read/cv15464238 出處:bilibili

以上就是Unity輸出帶點擊跳轉(zhuǎn)功能的Log實現(xiàn)技巧詳解的詳細(xì)內(nèi)容,更多關(guān)于Unity輸出點擊跳轉(zhuǎn)Log的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • C#連接Oracle數(shù)據(jù)庫字符串(引入DLL)的方式

    C#連接Oracle數(shù)據(jù)庫字符串(引入DLL)的方式

    這篇文章主要給大家介紹了關(guān)于C#連接Oracle數(shù)據(jù)庫字符串(引入DLL)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • C#使用FileSystemWatcher控件實現(xiàn)的文件監(jiān)控功能示例

    C#使用FileSystemWatcher控件實現(xiàn)的文件監(jiān)控功能示例

    這篇文章主要介紹了C#使用FileSystemWatcher控件實現(xiàn)的文件監(jiān)控功能,結(jié)合實例形式分析了C# FileSystemWatcher組件的功能及監(jiān)控文件更改情況的具體使用技巧,需要的朋友可以參考下
    2017-08-08
  • C#使用CancellationTokenSource 取消 Task的方法

    C#使用CancellationTokenSource 取消 Task的方法

    因為涉及到了日常經(jīng)常會碰到的取消任務(wù)操作,本文主要介紹了C#使用CancellationTokenSource 取消 Task,文中通過代碼介紹的非常詳細(xì),感興趣的可以了解一下
    2022-02-02
  • 基于NPOI用C#開發(fā)的Excel以及表格設(shè)置

    基于NPOI用C#開發(fā)的Excel以及表格設(shè)置

    這篇文章主要為大家詳細(xì)介紹了基于NPOI用C#開發(fā)的Excel以及表格設(shè)置,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • C# SDK實現(xiàn)百度云OCR的文字識別功能

    C# SDK實現(xiàn)百度云OCR的文字識別功能

    這篇文章主要為大家詳細(xì)介紹了C# SDK實現(xiàn)百度云OCR的文字識別功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-11-11
  • c# 快速排序算法

    c# 快速排序算法

    快速排序使用分治法(Divide and conquer)策略來把一個串行(list)分為兩個子串行(sub-lists)
    2013-10-10
  • c#程序定期把內(nèi)存信息記錄到log日志示例

    c#程序定期把內(nèi)存信息記錄到log日志示例

    這篇文章主要介紹了c#程序定期把內(nèi)存信息記錄到log日志示例,需要的朋友可以參考下
    2014-04-04
  • C#實現(xiàn)讀寫ini文件類實例

    C#實現(xiàn)讀寫ini文件類實例

    這篇文章主要介紹了C#實現(xiàn)讀寫ini文件類,實例分析了C#實現(xiàn)針對ini文件的讀、寫、刪除等操作的常用技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-03-03
  • WPF實現(xiàn)動畫效果(六)之路徑動畫

    WPF實現(xiàn)動畫效果(六)之路徑動畫

    這篇文章介紹了WPF實現(xiàn)動畫效果之路徑動畫,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-06-06
  • C# WPF上位機(jī)實現(xiàn)和下位機(jī)TCP通訊的方法

    C# WPF上位機(jī)實現(xiàn)和下位機(jī)TCP通訊的方法

    這篇文章主要介紹了C# WPF上位機(jī)實現(xiàn)和下位機(jī)TCP通訊的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-03-03

最新評論