Visual Studio C# 除錯技巧
我們在開發的時候雖然可以透過斷點或 Visual Studio 會自動跳轉至 crash 的地方來得知 crash 的位置。可是有時候就算知道 crash 的方法是什麼,還是會不知道崩潰的原因。
其中若是呼叫端的錯誤導致崩潰,而又有超多的地方在呼叫這個方法時,那就會很難找到特定導致崩潰的呼叫端;或者是已經 release 了,需要噴 LOG 出來避免在使用者端 crash 時不知道是哪一段呼叫這個方法導致崩潰的時候,以下介紹的方法就可以得知是誰呼叫了我的方法,以及呼叫的方法在哪一行!
由於 Vsual Studio C# 可以在方法中預先指定好預設參數令呼叫端可以直接使用該方法。因此透過這種方式,就可以創造出如下的方法令使用者不需要傳遞任何參數就可以在該方法內得知使用者在哪個方法,哪一行內呼叫我的方法。
Visual Studio C# 除錯技巧 範例程式碼
class Program
{
// 在 string call = null 前面加上 [CallerMemberName] 代表著要把 string 型別,參數名稱為 call 的參數改成呼叫端的方法名稱
// 在 int line = 0 前面加上 [CallerLineNumber] 代表著要把 int 型別,參數名稱為 line 的參數改成呼叫端的行號
private static void MyMethod([CallerMemberName] string call = null, [CallerLineNumber] int line = 0)
{
Console.WriteLine($"Call: {call}");
Console.WriteLine($"Line: {line}");
}
private static void Main(string[] args)
{
MyMethod();
}
/// <output>
/// Call: Main
/// Line: 11
/// </output>
}
ShopBack 網購再賺最高 40% 現金回饋!
史上最讚的網購回饋,用 shopback 輕鬆賺取最高 40% “現金” 回饋,加入馬上領 100元 獎勵金|操作與使用方式
真心推薦.絕對無腦賺錢!
支持|Leo Studio
如果你喜歡 Leo Studio 請幫我
拍拍手|LikeCoin基金將會分發LikeCoin獎勵創作者
追蹤| Instagram
也歡迎點我小額訂閱 Leo Studio,不定時發布優質內容💌
(adsbygoogle = window.adsbygoogle || []).push({});
(adsbygoogle = window.adsbygoogle || []).push({});