爲什麼不登錄Windows事件查看器,就是這麼做的。從簡單的配置設置中,您可以將其切換到包含所有級別,例如4-詳細,3-信息,2-警告,1-錯誤,您只需將這些消息記錄爲這四種類型之一即可。您也可以將它與布爾tracewitch結合起來用於調試跟蹤,但這不是必需的。
Windows事件查看器還爲您提供摘要,可以遠程連接,而且系統管理員可以輕鬆地使用它。
using System;
using System.Diagnostics;
類MYSAMPLE {
public static void Main(){
// Create the source, if it does not already exist.
if(!EventLog.SourceExists("MySource")){
EventLog.CreateEventSource("MySource", "MyNewLog");
Console.WriteLine("CreatingEventSource");
}
// Create an EventLog instance and assign its source.
EventLog myLog = new EventLog();
myLog.Source = "MySource";
// Write an informational entry to the event log.
myLog.WriteEntry("Writing to event log.");
}
}
聽起來像是你需要做的是把一個斷點,單步執行代碼,如果它的線程,只是在Visual Studio中打開線程窗口,同時通過步進代碼。如果許多線程使其難以調試,則暫時在定時器上放置更長的延遲。
聽起來像你正在尋找一個魔法圖書館。 – ChaosPandion 2010-04-02 00:49:03
也許是我,但有時我不認爲我會找到一個'魔術'庫,我終於做到了) – 2010-04-02 00:57:25
你是什麼意思「外部的東西」?您是否檢查客戶機器上的事件查看器?也許它會表明CLR本身已經崩潰,就像着名的「致命執行引擎錯誤」一樣。在這種情況下,除非您只是記錄足夠的魔法步驟才能在您的開發系統上重現錯誤,否則您的記錄都不會有所幫助。 – 2010-04-02 01:05:35