我很好奇什麼是在Windows上記錄調試打印信息的最常用和/或可接受的方式。我沒有使用visual studio,並且正在編譯GCC。C++調試Windows上的日誌記錄
我習慣於在Android上開發,並使用logcat編寫和監視日誌。 是否有這樣的win32的東西?
編輯:
這是最常見的使用這樣的事情嗎?
https://msdn.microsoft.com/en-us/library/6xkxyz08.aspx
我很好奇什麼是在Windows上記錄調試打印信息的最常用和/或可接受的方式。我沒有使用visual studio,並且正在編譯GCC。C++調試Windows上的日誌記錄
我習慣於在Android上開發,並使用logcat編寫和監視日誌。 是否有這樣的win32的東西?
編輯:
這是最常見的使用這樣的事情嗎?
https://msdn.microsoft.com/en-us/library/6xkxyz08.aspx
雖然它不提供過濾的附加功能和日常/尺寸側翻OutputDebugString
是一個很好的API,允許您發送調試日誌消息。
輸出可以檢索並顯示一個特殊的程序,當程序沒有啓動時,輸出會被忽略。
瞭解更多關於它在這篇文章中:How to view output of OutputDebugString?(相同的API調用可以從C中使用的++)
根據輸出的大小,你可能想使用的Windows事件日誌或類似 http://log4cpp.sourceforge.net/日誌框架
登錄Windows的標準基礎結構是Event Tracing。它是在OS的所有部分可用的(和使用),都是由用戶模式應用程序和內核模式的模塊:
目的
Windows事件跟蹤(ETW)提供應用程序的程序員開始的能力和停止事件跟蹤會話,檢測應用程序以提供跟蹤事件,並消耗跟蹤事件。跟蹤事件包含事件頭和提供者定義的數據,用於描述應用程序或操作的當前狀態。您可以使用這些事件來調試應用程序並執行容量和性能分析。在適用
使用ETW當你想儀應用程序,用戶登錄或內核事件記錄到日誌文件,消耗從日誌文件或實時的事件。開發商觀衆
ETW是專爲誰寫的用戶模式應用程序C和C++開發人員。運行時間要求
ETW包含在Microsoft Windows 2000及更高版本。
問題要求推薦一些東西不幸是不合時宜的... – Petr
['std :: clog'](http://en.cppreference.com/w/cpp/io/clog)?例如,您可以使用[此技術](https://stackoverflow.com/a/10151286/865719)將其輸出重定向到一個文件。 – 865719
你想寫簡單的文本消息到文件? [Windows不這樣做](https://msdn.microsoft.com/en-us/library/windows/desktop/aa385780.aspx)。儘管如此,可能有一百萬個記錄器實用程序。我知道沒有統治性的,白色支持的日誌軟件包。 – user4581301