OK; assumendo questo codice in esecuzione in modalità di debug -Perché non ottengo nessun numero di linea da una traccia stack creata da Eccezioni?
static StackFrame GetTopFrameWithLineNumber(Exception e)
{
StackTrace trace = new StackTrace(e);
foreach (StackFrame frame in trace.GetFrames())
{
if (frame.GetFileLineNumber() != 0)
{
return frame;
}
}
return null;
}
Sto restituendo SEMPRE null. Perché i riquadri dello stack non hanno numeri di riga quando si ispeziona la stringa Exception.StackTrace
, chiaramente li ha per qualsiasi codice non-framework? C'è qualche problema con la costruzione di una traccia dello stack da un'eccezione di cui non sono a conoscenza?
MODIFICA PER CHIAREZZA: Nell'eccezione generata posso vedere i numeri di riga nella proprietà StackTrace. Suppongo che questo significhi avere tutto ciò di cui ho bisogno.
Poiché posso vedere i numeri di riga nella stringa exception.stacktrace sebbene ciò non significhi che io abbia il pdb? – Stimul8d
Non penso che questo sia un caso di mancanza di pdb dal momento che è in grado di vedere i numeri di riga. –
ahh, così fa; buona chiamata. – Stimul8d