2016-07-28 16 views
0

私が知る限り、デバッガはlinuxのptraceのようなシステムコールに基づいて動作し、トレースをブロックし、トレーサのメモリから情報を取得します。 これは、アンドロイドアプリプロセスでメインスレッドをデバッグするためにデバッガを使用したい場合、メインスレッドをブロックし、メインスレッドANRを数秒で簡単に引き起こす可能性のある操作を待つことを意味します。 私は混乱していますが、実際にアンドロイドアプリのプロセスの主なスレッドをデバッグすることは可能ですか?Androidデバッグの混乱

+0

私はまだあなたの質問を理解していません。私も混乱しています。笑 –

答えて

0

ADPはptraceを使用してメインスレッドをブロックします。これにより、アプリケーションはデバッグモード中にわずかに減速します。スレッドごとにデバッグを行うと、ブレークポイントを入れるスレッドが完全に停止します。 一般的なデバッグのために、これは問題ではありません。アプリケーションがどの程度スムーズに実行されているかをテストするには、デバッグモードではなく実行モードで実行する必要があります。

+0

あなたの答えをありがとう。しかし、私はステップバイステップでデバッグすることができない場合、私は他の情報をチェックすることができるので、デバッガは多くの価値がないようです。 – xjtulk

+0

もちろん、大量のコンソールログを使用してコードを汚染してしまいます。私はそれが個人的な好みだと思います。 LOGを記述する必要がないことに加えて、各オブジェクトの状態を見ることができ、実行中のすべてのステップについてメンバの詳細を見ることができます。メソッドが正しい順序で実行されていることを確認することができます。 – AKroell