2016-07-28 111 views
0

據我所知,調試器基於系統調用工作,如Linux中的ptrace,這將阻止tracee,然後跟蹤器從tracee的內存中獲取信息。 這意味着,如果我想使用調試器來調試android應用程序進程中的主線程,它將阻塞主線程並等待我的操作,這可能會在幾秒鐘內輕易導致主線程ANR。 所以我很困惑是否真的有可能在android應用程序進程中調試主線程,以及如何?Android調試混淆

+0

我還是不明白你的問題。我也很迷惑。大聲笑 –

回答

0

正確,ADP使用ptrace並阻塞主線程,這會導致應用程序在調試模式下稍微減慢。如果你一步一步地調試你的斷點,你的斷點將會完全停止。 對於一般調試目的,這不應該是一個問題。測試應用程序運行的順暢程度應該在運行模式下完成,而不是在調試模式下完成。

+0

感謝您的答案。但如果我不能一步一步調試,似乎調試器不值得很多,因爲我可以檢查其他信息只需將LOGs插入我的代碼。 – xjtulk

+0

當然,但這會污染你的代碼與大量的控制檯日誌,必須清理後。我想這是個人喜好。除了無需編寫LOG,您還可以查看每個對象的狀態,並且它是執行過程中每個步驟的詳細成員。它允許你確保方法按照正確的順序執行。 – AKroell