yılında stacktrace kısmını kaybederler. İlk durumda, ayıklayıcı işlenmeyen özel durum yakalar:İstisnalar İki örnekler var deneme/yakalama bağlamında
static void Main(string[] args) {
Exec();
}
static void Exec() {
throw new Exception();
}
Ve istisna tam stacktrace vardır:
at ConsoleApplication28.Program.Exec()
at ConsoleApplication28.Program.Main(String[] args)
at System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
ikinci vaka:
static void Main(string[] args) {
Exec();
}
static void Exec() {
try {
throw new Exception();
}
catch (Exception ex) {
} // Breakpoint
}
kesme anda istisna kısa sahiptir StackTrace:
at ConsoleApplication28.Program.Exec()
İkinci durumda içerme yöntemine yığınlar neden kesilir ve nasıl önlenir? Hata raporları için tam stacktrace'e ihtiyacım var, aksi halde problemi bulmak için bazen tam stacktrace olmadan mümkün değildir.
"Ben aksi takdirde sorun tam stacktrace olmadan, orada bulmak bazen mümkün değildir, bugreports tam stacktrace ihtiyacımız var." Sorunuzun bu kısmına cevap vermek için, Main() yönteminizde istisnaların olabileceği, belki de en üstte, "yukarıda" bulunan bir yakalama yapısını eklemeniz gerekir. Yakalama maddesinde exceptionObject.ToString() öğesini bir dosyaya veya daha sonra analiz için bir şeyler yazmalısınız. – RenniePet