奇怪的事情在我的代码是发生在那里我使用了一个堆栈跟踪。 这是几乎一样,如果没有被加载调试信息...但我在bin目录和最新的DEBUG build.The .pdb文件运行此被definitelly。 我认真地跑出ideeas的:
public class TraceHelper
{
private static IDictionary<string,int> TraceDictionary = new Dictionary<string,int>();
public TraceHelper(int duration)
{
...
TraceDictionary[InternalGetCallingLocation()]+=duration;
...
}
public static string InternalGetCallingLocation ()
{
var trace = new System.Diagnostics.StackTrace();
var frames = trace.GetFrames();
var filename = frames[1].GetFileName(); //<<-- this always returns null
return frames[0].ToString(); //this returns:
// "InternalGetCallingLocation at offset 99 in file:line:column <filename unknown>:0:0"
}
}