StackTrace nombre de archivo desconocido
-
22-07-2019 - |
Pregunta
Algo extraño está sucediendo en mi código donde estoy usando un StackTrace. Es casi como si la información de depuración no se estuviera cargando ... pero la estoy ejecutando en la compilación DEBUG. Los archivos .pdb están definidos en el directorio bin y están actualizados. En serio, se me acabaron las 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"
}
}
Solución
Se encontró un poco más de búsqueda en Google esta publicación
Resulta que StackTrace tiene un constructor especial
public StackTrace(bool fNeedFileInfo)
si necesita que se complete la información del archivo. Ouch
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow