我寫了一個方法,斷言():.NET的StackFrame和當前行/列
[System.Diagnostics.Conditional("DEBUG")]
internal static void Assert(bool condition)
{
if (!condition)
{
var message =
"Line:" + (new System.Diagnostics.StackFrame(1)).GetFileLineNumber() + "\r\n" +
"Column:" + (new System.Diagnostics.StackFrame(1)).GetFileColumnNumber() + "\r\n" +
"Where:" + (new System.Diagnostics.StackFrame(1)).GetMethod().Name;
Log("ASSERTION", message);
}
}
爲什麼我有兩行和列等於0,觸發時?它應該是調用Debug.Assert(false)的地方。
問候,
你爲什麼要編寫自己的斷言方法? –
因爲我必須寫入我自己的日誌系統。由於程序集是SQLCLR觸發器,因此輸出存儲在特殊表中。 – noober
是否將.pdb放在與.exe/.dll相同的文件夾中?你使用的是舊版本的單聲道嗎? – Sklivvz