2011-10-19 175 views
42

更新:這原來是SDK工具R14中的一個錯誤。它已在2013年10月27日發佈的R15中得到修復。更新到最新版本解決了接受答案中建議的問題。如何停止在Eclipse中自動滾動LogCat輸出?

我在Eclipse的Debug視圖中使用LogCat窗口來診斷和修復我的代碼中的崩潰。我注意到,每次添加新行時,LogCat輸出都會自動向下滾動(但只有在您自己滾動到底部後)。

如果我正在等待異常堆棧跟蹤出現,這非常棒,但是如果我正在嘗試讀取日誌中的某些內容並且更多行繼續添加到底部(它會一直跳轉到底部,所以我回滾到錯誤,然後再跳到底部)。

有什麼辦法可以讓它保持在我放置它的位置,放置它時,但在到達底部時會自動滾動?

編輯:請注意,我知道過濾器,我不認爲這是一個解決問題的辦法。

另一編輯:如果我從底部向上滾動「足夠遠」,它會自動停止滾動。足夠遠可能是5條線,或者可能是500條線,這似乎與日誌中有多少條線有關。理想情況下,只要我離底部至少一行,它就會停止滾動。

+0

您安裝了哪個版本的ADT? R14現在可用,可能表現更好 – Merlin

+0

這一直髮生在我身上,但在最新版本中似乎更具攻擊性。 – howettl

+1

或者使用ddms透視圖來查看logcat輸出全屏(或接近)......我發現這讓生活變得更容易一些。 – Merlin

回答

6

更新至最新版本。當您通過eclipse構建 - 啓動應用程序時,新的logcat會自動將日誌過濾到特定於應用程序的崩潰日誌中。

+0

我正在運行R14。我正在開發的應用程序非常龐大,並且有很多輸出,因此在查看特定於應用程序的日誌時仍然是個問題。 – howettl

+0

使用錯誤過濾器和標記過濾器的組合。我看不出爲什麼你仍然從其他應用程序獲取日誌。 – josephus

+0

我沒有從其他應用程序獲取日誌。我正在處理的應用程序有大量的日誌輸出。 – howettl

5

這不是發生在我身上的事情。如果我向上滾動,當新行到達logcat時,它不會自動向下滾動,直到我將它滾動到底部。 也許是因爲Eclipse或Android SDK版本。我現在正在使用最新版本。

+0

我也使用最新的。也許這與我注意到的其他事情有關:如果我從底部向上滾動「足夠遠」,它會自動停止滾動。足夠遠可能是5行,或者可能是500行,似乎取決於日誌中有多少行。 – howettl

+1

@howettl,你需要禁用[自動狀態改變](http://stackoverflow.com/questions/6788491/how-to-disable-the-autoscroll-feature-in-logcat/26586009#26586009),因爲Eclipse嘗試聰明的IDE不應該試圖聰明的東西。 – Pacerier

2

您可以在shell中執行adb logcat,並使用終端應用程序的滾動緩衝區和滾動功能來管理logcat輸出。

+2

我寧願使用Eclipse版本。如果我沒有貓圖標,我的生產力會大幅下降:)。 – howettl

+0

它不一定是一個二者或者事物。在運行Eclipse logcat視圖的同時,您可以在shell中使用logcat。 – mportuesisf

+2

我看到你在說什麼,但是如果有某種設置可以改變以控制輸出在Eclipse中的滾動方式,而不是在兩個窗口之間來回切換,那會更好。 – howettl

1

如果您只是調試崩潰,請單擊主logcat的紅色(E)(錯誤)過濾器,並將過濾器選項卡設置爲默認值以查看應用程序正在報告的所有行。

什麼結果發生,當你的應用程序崩潰時,它保持關閉,除非請求重新啓動你的選擇。所以,logcat中的最後一行將是崩潰報告。這是我如何調試崩潰的方法之一。

+2

這是一個有趣的解決方法,但它不會幫助我不尋找錯誤的情況。 – howettl

0

我也認爲它是自最新更新以來「更積極」!當我滾動10行或更多行時,它實際上會停止自動滾動。

我擁有的最佳解決方案是點擊您感興趣的行。如果logcat向下滾動太多,而您又看不到行,只需按下ArrowUp或ArrowDown跳回您正在查看的行在。

+0

我很高興聽到我對這個問題並不孤單。我不知道上/下會反彈回有效的選定線,但不是問題的解決方案。它會停止自動滾動,如果我向上移動一定數量但有時很遠(遠遠超過10行)。 – howettl

+0

其實我已經安裝了R15,就像Josephus Villarey建議的一樣。當我滾動至少10行時,自動滾動停止O_o – cwin

+0

是的,大約需要10行來停止R15。有了R14,它遠遠超過了10個(至少對我來說......不同的用戶似乎報告了不同的結果)。 – howettl

43

在上側的logcat的標籤最右邊有一個向下的箭頭與下它一條線,使

「滾動鎖定」

在舊版本中,它是一個暫停按鈕

「暫停接收新的logcat消息」

這應該是訣竅!

+11

在大多數情況下,暫停按鈕只是不工作...... :( –

+1

我會給你1000 Scroll Lock按鈕upvotes! –

+0

注意:「滾動鎖定」按鈕激活打開自動滾動(稍微混淆我們這些人他們幾乎沒有記住鍵盤上的滾動鎖鍵)我仍然看到這種行爲:向上滾動logcat,滾動鎖定關閉消息到達我的「adb logcat」會話,但通過eclipse篩選出來。稍微(但不去底部) – Colin

2
Window => Preferences => Android => Logcat 

取消選中名爲框:

Display logcat view when there are messages from 
an application into the workspace 
+2

這可以防止logcat視圖自己出現,但不會停止滾動。 – howettl

+0

@Olivier,這個選項似乎並不存在。 – Pacerier

6

我停止了問題禁用選項:自動啓用基於滾動條位置/禁用滾動鎖定。

窗口>首選項> Android> Logcat>取消選中上面的選項。

就我而言,我使用Eclipse + Android開發工具(編譯:v22.6.2-1085508)

我建議,如果我想使用Eclipse,從這個鏈接下載完整的包: http://developer.android.com/sdk/index.html

下載後,下載所有可用的更新,減少NDK。

0

如果您在搜索框中編寫pid:pidofyourapp(它在設備選項卡的聯機列下寫入),它將顯示您在應用程序中編寫的日誌。