2012-11-27 34 views

Trả lời

1

Cảm ơn tất cả các bạn, nhưng tôi đã thấy rằng khi tôi chạy chương trình từ Visual Studio đầu ra của dấu vết được viết bởi .NET đến cửa sổ giao diện điều khiển khi một ngoại lệ unhandled từ bất kỳ thread được ném không được chuyển hướng đến cửa sổ giao diện điều khiển.

Nó chỉ được chuyển hướng khi tôi chạy chương trình được tách ra khỏi Visual Studio. Vì vậy, mã này rất tốt để xem tất cả các dấu vết ngăn xếp từ bất kỳ chủ đề nào ném một ngoại lệ không được xử lý

Trace.Listeners.Clear(); 

     TextWriterTraceListener twtl = new TextWriterTraceListener(Path.Combine(Environment.CurrentDirectory, "logfile.txt")); 
     twtl.Name = "TextLogger"; 
     twtl.TraceOutputOptions = TraceOptions.ThreadId | TraceOptions.DateTime | TraceOptions.Callstack; 

     ConsoleTraceListener ctl = new ConsoleTraceListener(false); 
     ctl.TraceOutputOptions = TraceOptions.DateTime; 

     Trace.Listeners.Add(twtl); 
     Trace.Listeners.Add(ctl); 
     Trace.AutoFlush = true; 
0

Bạn có thể lấy theo dõi chồng trong khối catch bởi ex.StackTrace như dưới đây:

try 
{ 
    //Your code; 
} 
catch(Exception ex) 
{ 
    string innerException = ex.InnerException; 
    string stackTrac = ex.StackTrace; 
    //Write this stackTrac to any file where you want 
} 
Các vấn đề liên quan