如果在每次写入消息时都使用自动刷新或手动刷新,我在Visual Studio中调试时发现了一些东西,即使启用AutoFlush = true,我也看不到写入文件的数据。当我停止调试器时,文件才会更新。这让我相信数据只是在特定时间或程序完成时被刷新。
或者这是调试的副作用,在实际程序中它会表现不同吗?
数据写到什么时候?马上,或在一些事件或时间之后?
编辑:我确实在Visual Studio的Debug Output窗口中看到输出消息,而不是在文件中。
答案 0 :(得分:0)
我想我在这里找到了解释 Trace file isn't being created even though TraceEvent is called?
“当内部缓冲区填满时,写入器刷新到磁盘,如果内存为我提供,则默认缓冲区大小为8KB。这不是跟踪侦听器的一个方面,而是它写入的基础文件流。”