كيفية رؤية التتبع المكدس لتطبيق .NET
-
08-07-2019 - |
سؤال
انا املك .شبكة تطبيق Windows في الإنتاج لا يمكنه الوصول إلى Visual Studio (الإصدار القياسي)، والشيء الوحيد الذي يمكنهم تثبيته هو يعبر الإصدار الذي لا يحتوي على خيار التصحيح في الوقت المناسب (الخيار الذي يحتوي على زر التصحيح عند تعطله).لذلك كنت أتساءل فقط عما إذا كانت هناك أداة لتصحيح أخطاء تطبيقات Windows أو أي شيء آخر يمكنني تشغيله أو إرفاقه لرؤية تتبعات المكدس.أنا أيضا مكنت PDB في تطبيقي، ولكنه لا يوفر أي معلومات إضافية، حتى أتمكن من تتبع الأعطال (الناجمة عن الاستثناءات التي لم تتم معالجتها).
المحلول
ويمكنك أيضا استخدام WinDbg وsos.dll
نصائح أخرى
إذا استثناءات صيد، يحتوي الكائن استثناء تتبع المكدس: <لأ href = "http://msdn.microsoft.com/en-us/library/system.exception.stacktrace.aspx" يختلط = "نوفولو noreferrer "> Exception.StackTrace . أيضا، يمكنك الوصول إليها مع Environment.StackTrace أ >.
في رمز أدناه هناك أيضا معالج حدث للالاستثناءات غير المعالجة التي سوف نكتب استثناء، بما في ذلك تتبع المكدس، إلى سجل الأحداث.
// Sample for the Environment.StackTrace property
using System;
class Sample
{
public static void Main()
{
AppDomain.CurrentDomain.UnhandledException +=
new UnhandledExceptionEventHandler(UnhandledExceptions);
Console.WriteLine("StackTrace: '{0}'", Environment.StackTrace);
throw new Exception("Fatal Error");
}
static void UnhandledExceptions(object sender, UnhandledExceptionEventArgs e)
{
string source = "SOTest";
if (!System.Diagnostics.EventLog.SourceExists(source))
{
System.Diagnostics.EventLog.CreateEventSource(source, "Application");
}
System.Diagnostics.EventLog log = new System.Diagnostics.EventLog();
log.Source = source;
log.WriteEntry(e.ExceptionObject.ToString(),
System.Diagnostics.EventLogEntryType.Error);
}
هل يمكن أن تحاول CLR التعريف
ويتم تسجيل stacktraces الاستثناءات التطبيق. NET في الحدث الخاص عارض ضمن التطبيقات.
وهذا الارتباط يلقي 404:
نص بديل http://eduncan911.com/blog /thumbnail/exception-in-iis-stackoverflow-logs.png
وربما EQATEC الراسم يمكن أن تساعدك على الخروج.
يستخدم:
يأتي .NET Framework 2.0 SDK مع Microsoft CLR Debugger.إنه يعمل بشكل مشابه لمصحح أخطاء Visual Studio (على الرغم من أن الملفات المصدر قابلة للقراءة فقط)، لذا يمكنك تجربته.