C# 堆栈跟踪文件名未知

C# 堆栈跟踪文件名未知,c#,asp.net,reflection,stack-trace,C#,Asp.net,Reflection,Stack Trace,在我使用StackTrace的代码中发生了一些奇怪的事情。这几乎就像调试信息没有被加载。。。但是我在调试版本上运行这个.pdb文件确实在bin目录中并且是最新的。我已经完全没有想法了: public class TraceHelper { private static IDictionary<string,int> TraceDictionary = new Dictionary<string,int>(); public TraceHelper(int

在我使用StackTrace的代码中发生了一些奇怪的事情。这几乎就像调试信息没有被加载。。。但是我在调试版本上运行这个.pdb文件确实在bin目录中并且是最新的。我已经完全没有想法了:

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"
    }
}
公共类跟踪帮助器
{
私有静态IDictionary TraceDictionary=new Dictionary();
公共跟踪帮助器(int持续时间)
{
...
TraceDictionary[InternalGetCallingLocation()]+=持续时间;
... 
}
公共静态字符串InternalGetCallingLocation()
{
var trace=new System.Diagnostics.StackTrace();
var frames=trace.GetFrames();

var filename=frames[1].GetFileName();//在搜索中发现了更多的内容

原来StackTrace有一个特殊的构造函数

public StackTrace(bool fNeedFileInfo) 

如果需要填充文件信息。哎哟

能否显示完整的跟踪?需要更多上下文帮助。