Xcode のStep Over ThreadおよびStep Into Threadデバッガー コマンドの目的を誰かが説明できますか? 通常のStep OverとStep Intoではなく、どのような場合にそれらを使用すると便利ですか? 違いは何ですか?
編集:質問を明確にするために、ステップオーバー/ステップイン/ステップアウトの違いについては質問していません。通常のバージョンと「スレッド」バージョンの違いについて質問しています。他よりも役に立ちます。
現在のステートメントを実行し、次のステートメントで停止します。現在のステートメントが関数またはスクリプトの呼び出しである場合、デバッガーはその関数またはスクリプトにステップインします。それ以外の場合は、次のステートメントで停止します。
現在のステートメントを実行し、次のステートメントで停止します。現在のステートメントが関数またはスクリプトの呼び出しである場合、デバッガーは関数またはスクリプト全体を実行し、関数呼び出しの後の次のステートメントで停止します。
関数がネストされている場合は、現在の関数からステップアウトし、1 レベル上に移動します。本体の場合、スクリプトは最後まで、または次のブレークポイントまで実行されます。スキップされたステートメントは実行されますが、ステップスルーされません。
引数は一般的なデバッグについてなので見てください
Eclipse デバッガーでのステップ インとステップ オーバーの違いは何ですか?
特定のスレッドを見ると、ブレークポイントで停止している間に複数のイベント/スレッドなどを実行することなく、「マルチスレッド」アプリケーションをシングルスレッドアプリケーションとして見ることができます。あなたには「安定した環境」があります。
私はちょうど同じ質問に苦労しています。質問は少し古いですが、適切な答えを見つけたようです。
here ドキュメントで、次のようなものを見つけました。
Control-Shift を押しながら、他のスレッドを停止したままアクティブなスレッドにステップ インまたはステップ オーバーします (ステップ アイコンは、矢印の下に実線ではなく破線で表示されます)。
Control-Shift-< Fx キーまたはクリック> は、ステップ オーバーおよびステップ インのスレッド バージョンのそれぞれのショートカットです。したがって、これは現在のスレッドのみを実行し、他のすべてのスレッドを一時的に中断しているように見えます。通常のバージョンでは、中断されていないすべてのスレッドの実行が続行されます。
この用語の非常に簡単な説明: