Yığın izlemesi neden "satır 0", , ancak yığın izinde yalnızca bir çerçeve için gösterilsin? Örn.,Hatalı satır numarasıyla yığın izi oluşturma
örn.
...
at System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior behavior)
at System.Data.Common.DbCommand.System.Data.IDbCommand.ExecuteReader()
at My.LibraryA.Some.Method():line 16
at My.LibraryB.Some.OtherMethod():line 0
at My.LibraryB.Some.Method():line 22
at My.LibraryA.Some.Method():line 10
Arka plan:
Bir istisna ile başarısız olduğu ve günlük dosyasına bir yığın izleme giriş bir uygulama vardır. Uygulama oluşturulduğunda, tüm derlemeler tam hata ayıklama bilgisi (Project Properties -> Build -> Advanced -> Debug Info -> Full) ile derlendi ve böylece PDB dosyaları oluşturuldu. Hatanın nereden geldiğini teşhis etmeme yardımcı olmak için PDB dosyalarını uygulamanın bin
dizinine bıraktım ve istisnayı yeniden ürettim. Her bir yığın çerçevesi için tüm satır numaraları, kaynağı olarak "satır 0" görüntüleyen hariç, doğru görünür.
En iyileştirmeler açıkken derlenmiş mi? (Unutmayın, optimizasyonları açma/kapama ve açma/kapama ve açma/kapatma, ortogonal anahtarlardır.) Eğer öyleyse, jitter inlining veya orijinal kodun olduğu yerde çalışmayı zorlaştırabilecek diğer optimizasyonlar yapmayı seçebilir. –
@Eric: evet öyleydi. Gerçek hat numarasını almanın bir yolu var mı? – adrianbanks
Elbette. Optimizasyonlar kapalıyken derleyin. –