好吧,所以我有一個非常大的Java項目,我一直在努力多年(一個遊戲,如果你必須知道的話)。如何找到正在打印的神祕消息?
不幸的是,一個神祕的信息已經開始被打印。不管我搜索的時間長短,我都無法確定消息的位置。
我知道你可以重寫println方法,並且我很好奇,是否有可能在打印的消息中附加某種調試信息?就像它可能打印的行或文件一樣?我試着在Google上搜索這個,但是這個問題太簡單了,我找不到答案。
更糟的是,消息非常含糊。它只是「-1」。
至少我現在知道使用適當的記錄器而不是簡單的println()。
有什麼理由grep不會顯示它嗎?我的第一個想法是使用某種模擬框架攔截函數調用並打印堆棧跟蹤。 – AdamSpurgin
希望你的*非常大的項目*是以模塊化方式編寫的,允許進行單元測試和嘲諷。否則,我不知道你應該如何解決這個問題,而不是重新編寫它,以便它*是*可測試的。您的問題沒有提供足夠的信息,可以直接回答。 –
我假設你使用IDE?例如,在eclipse中,您可以搜索所有的項目空間以獲取方法調用或純字符串(如-1),我將搜索字符串「-1」,在某處,必須定義它的位置,您可以從那裏跟蹤它。除非它來自外部.jar,否則很難找到它。 – arynaq