我写了一个方法,断言():.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