1
Hello Fellow計算機人!在Cocoa中打印錯誤文件/ Objective-C
任何人都願意幫助將我的感激;)
只是想知道什麼是印刷錯誤,最好的辦法到一個文件,即所以,如果我的可執行文件崩潰,我能有什麼事的記錄。
這將是可可,目標C或C
謝謝,
埃裏克
PS。我希望我的問題不是太籠統或模糊。如果您需要澄清,請讓我知道。
Hello Fellow計算機人!在Cocoa中打印錯誤文件/ Objective-C
任何人都願意幫助將我的感激;)
只是想知道什麼是印刷錯誤,最好的辦法到一個文件,即所以,如果我的可執行文件崩潰,我能有什麼事的記錄。
這將是可可,目標C或C
謝謝,
埃裏克
PS。我希望我的問題不是太籠統或模糊。如果您需要澄清,請讓我知道。
如果您的應用程序崩潰,它會自動將崩潰日誌寫入~/Library/Logs/CrashReporter
。崩潰日誌將包含許多有用的信息,包括堆棧跟蹤和註冊表狀態。您無需執行任何操作即可啓用此功能。
對於不會導致崩潰的其他錯誤消息,可以使用NSLog
將信息寫入應用程序的日誌文件,該文件存儲在~/Library/Logs
處。日誌消息將被添加一個時間戳。默認情況下,NSLog
寫入全局控制檯日誌,但該行爲可由setting STDERR_FILENO
進行修改。
謝謝@mipadi。但我假設/ Logs/CrashReporter中的信息也會從我不想要的機器上的其他應用程序獲取信息。理想情況下,來自我的應用程序的錯誤將位於我的應用程序創建的獨特文件中,並且我可以讓用戶發送給我。你懂我的意思嗎? – 2010-08-23 18:10:27
是的。 '〜/ Library/Logs/CrashReporter'中每個應用程序都有單獨的崩潰日誌(實際上是每個應用程序的每次崩潰)。默認情況下'NSLog'打印到全局控制檯日誌,但可以通過設置'STDERR_FILENO'來修改。 – mipadi 2010-08-23 18:19:02
你不能*設置* STDERR_FILENO,因爲它是一個常量。但是,您可以在其上添加另一個文件描述符,這就是您重定向自己的stderr的方式。 – 2010-08-23 19:04:12