我正在微控制器上運行代碼.NET Micro Framework,我希望將調試輸出寫入文本文件。這個怎麼用?將C#調試輸出寫入.txt文件
回答
你將不得不做這樣的事情:
// Set up listener
string filename = @"C:\listener.txt";
FileStream traceLog = new FileStream(filename, FileMode.OpenOrCreate);
TextWriterTraceListener listener = new TextWriterTraceListener(traceLog);
// Output to listener
listener.WriteLine("Trace message here");
// Flush any open output before termination.
// Maybe in an override of Form.OnClosed.
listener.Flush();
從here服用。
使用Trace。它旨在做你所需要的。
using System;
using System.Diagnostics;
class Test
{
static void Main()
{
Trace.Listeners.Add(new TextWriterTraceListener("yourlog.log"));
Trace.AutoFlush = true;
Trace.Indent();
Trace.WriteLine("Entering Main");
Console.WriteLine("Hello World.");
Trace.WriteLine("Exiting Main");
Trace.Unindent();
Trace.Flush();
}
}
使用外的現成一個跟蹤最靈活的解決方案是使一個應用程序配置文件,將定義跟蹤偵聽器。
<configuration>
<system.diagnostics>
<trace autoflush="true">
<listeners>
<add name="textListener"
type="System.Diagnostics.TextWriterTraceListener"
initializeData="trace.log" />
<remove name="Default" />
</listeners>
</trace>
</system.diagnostics>
</configuration>
然後,在你的應用程序,只要你想記錄的東西,只是做:
Trace.WriteLine("Hello, this is a trace");
但TraceListener類的強大之處在於到其粒度。您可以在錯誤,信息和警告級別之間進行選擇,併爲需要跟蹤的任何級別定義不同的日誌文件。使用配置文件可以更輕鬆地禁用應用程序中的跟蹤,因爲您不需要重新編譯應用程序。
有關跟蹤系統的更多信息,請查看MSDN article。
+1我想你回答我的答案/問題解決方案應該在.NET Micro Framework中工作。我仍然在使用debugview.exe。 – JPBlanc
Ekk是正確的關於Trace是一個更好的設計,但是這並沒有回答這個問題,在沒有直接解決方案的情況下這很好。 OP或某人可能已經繼承了一個使用Debug的代碼庫,並且當時可能不需要Trace。
我發現這個溶液[http://bytes.com/topic/c-sharp/answers/273066-redirect-output-debug-writeline]:
TextWriterTraceListener[] listeners = new TextWriterTraceListener[] {
new TextWriterTraceListener("C:\\debug.txt"),
new TextWriterTraceListener(Console.Out)
};
Debug.Listeners.AddRange(listeners);
Debug.WriteLine("Some Value", "Some Category");
Debug.WriteLine("Some Other Value");
這會刷新和釋放文件自動和所有爵士樂? – Sinaesthetic
我相信可以在.config文件中配置autoflush - '
快速簡單,正如你所建議的那樣,我們不能通過各種方式來控制要開發的源代碼:)也就是說,這種解決方案確實會在visual studio中觸發雙輸出打印。但是,無論如何感謝 – bonitzenator
- 1. 將所有程序輸出寫入C++中的txt文件
- 2. 輸入輸出C++從txt文件
- 3. 輸出無法寫入TXT文件
- 4. 將C++向量寫入輸出文件
- 5. 將C++輸出寫入xlsx文件
- 6. 將輸出寫入文件
- 7. 將RegEx寫入txt文件
- 8. 將NSMutableArray寫入txt文件
- 9. 將python函數輸出寫入.txt文件
- 10. 如何將SQL語句輸出寫入TXT文件
- 11. Hadoop將輸出寫入一個txt文件
- 12. 將Python程序的輸出寫入.txt文件
- 13. 將print_r的輸出寫入txt文件。 PHP
- 14. 如何將函數輸出寫入.txt文件?
- 15. 從HTML輸入中寫入.txt文件
- 16. 將文件路徑寫入.txt文件
- 17. 將俄文文本寫入txt文件
- 18. 測試輸入文件是否爲C中的.txt文件
- 19. 寫入TXT文件?
- 20. 寫控制檯輸出到.txt文件
- 21. 將輸出寫入文本文件
- 22. 將輸出寫入文本文件
- 23. 將Nokogiri輸出寫入文本文件
- 24. C - 將文字從txt寫入數組
- 25. 從.txt文件中讀取值,並將其寫入到輸出文件
- 26. 在c MPI中寫入輸出文件
- 27. C++ ofstream不寫入輸出文件?
- 28. 使用php將表單輸入寫入.txt文件?
- 29. 寫入.txt文件時出現TypeError Python
- 30. 寫入一個txt文件在c#
我建議你只是將輸出重定向到一個文件(例如your_app> log.txt中)。它更靈活。 – m0skit0
如果我們說話靈活,我會說使用NLog。只是,我不知道它是如何以及以何種方式在受約束的系統上工作的...... @ m0skit0:使用.Net MF時是否有一個可用於重定向的shell? –
nlog's good也是log4net [編輯] oops不確定這些是.NET Micro上的選項... – kenny