我遇到了一些我想要高效解決的問題,也許你們中的一些人也會從中學習。 我犯了一個錯誤,因爲我debbuged使用printf(或在我的情況下可能std :: cout)我的應用程序。 它進展順利,我刪除了我的錯誤,並遇到了其他問題。 現在我正處於一個階段,我希望我的調試輸出消失,但我找不到它了。 由於許多非調試打印,搜索文本並沒有提出它並且是無望的。 此外,我沒有打印超過一個變量值,所以我不知道它的名字,我也不能搜索這個特定的值,因爲它不在源代碼中。查找調試printf將其刪除
我記得一些整潔的linux命令,它記錄它包裝的應用程序中的所有系統調用。 是否可以使用此工具查找調試打印發生的行? (我會使用這個,因爲我的輸出的90%是這個調試打印,所以我想我應該很快找到它)
當然,如果你知道更好的方法來解決這個問題,歡迎你發佈你的解決方案。
感謝
編輯 如不想在每一個誰通知:我使用的版本控制註釋:我已經使用SVN。 不幸的是,我不知道什麼時候輸入了調試消息。最糟糕的情況可能是我的初始提交已經包含它。如果 它是一個調試行在所有這些其他之間。
要大家誰告訴我/想我是愚蠢的做這些事情:那麼這一個我只注意到我在這個崗位類型;)
但讓我說,這個我一切都歸結爲狀態我以前的懶惰,所以讓這成爲你們所有人的榜樣,以後的懶惰會帶來更多的工作。 我只需要一個調試打印,所以我決定以骯髒的方式對其進行編碼。如果它更多,我可能會用更好的一個。
解決
最後我發現,有一些運氣。 這是一個std :: cout,它隱藏在代碼更深的地方(其中只有少數包含全部是系統庫的基類之一)。 我嘗試了grep方法,使用一個-F1來查看任何註釋,並且在grep完成時有幸在屏幕上顯示有問題的行。
使用版本控制避免將來的問題? –
也許你可以通過你的版本控制系統上的日誌回顧一下,找出調試發生的地方,並在那段時間做一個差異? –
'grep「std :: cout」* -r | grep text' – karlphillip