我現在用的是C語言編程的freopen
功能來跟蹤記錄器文件
- 功能執行
- 警告消息
- 錯誤所遇到
將所有stderr
消息路由到指定的文本文件。這在測試環境中運行良好。但是,在生產中,我們遇到了使用freopen()
打開的日誌文件的內存不足異常,並且服務器正在崩潰。我需要你的幫助來解決這個問題。
我現在用的是C語言編程的freopen
功能來跟蹤記錄器文件
將所有stderr
消息路由到指定的文本文件。這在測試環境中運行良好。但是,在生產中,我們遇到了使用freopen()
打開的日誌文件的內存不足異常,並且服務器正在崩潰。我需要你的幫助來解決這個問題。
確保您的日誌記錄代碼不會泄漏資源。
我假設你正在談論的freopen()
函數,分配內存來保存FILE
結構,並且很可能還有額外的空間,例如,緩衝I/O。
當您完成該文件時,除非進程即將終止,否則必須在由freopen()
返回的指針上調用fclose()
。
當然,您的代碼中可能會有任何其他資源泄漏。沒有看到代碼就很難做到這一點。
在使用C/C++內存驗證器進行概要分析的應用程序中沒有內存泄漏。這只是由於大量的打印語句被記錄到文件中造成的。是否需要設置任何參數,如[MAX文件尺寸] – user987379 2012-04-26 09:28:11
你可能是指'freopen';但我不明白你的問題。顯示更多代碼。 – 2012-04-26 09:10:51
對不起,它的freopen – user987379 2012-04-26 09:12:02