2017-09-21 2 views
-4

enter image description hereTurbo C++のトレース(F7)とステップオーバー(F8)の違いは何ですか?

何トレースの主な違いは、にあるとターボC++

+0

試してください。違いがわかります。 – Vladyslav

+7

本当にTurboC++を使うべきではないことに注意してください。 20年以上経過しており、C++ 98に準拠していません。あなたが使うことができるより多くのより新しい自由なオプションがあります。 – NathanOliver

+0

実際のまともなコンパイラを使用した場合、その違いを知る必要はありません。 –

答えて

0

にステップオーバーのは、あなたが次のプログラムがあるとしましょう:

void main(String[] args){ 
    myFunc(); //breakpoint here 
} 

void myFunc() { 
    funcTwo(); 
} 

void funcTwo() { 
    int x = 2; 
} 

手順オーバーを選択した場合、デバッガはmyFuncを実行しますmain関数には次の行がないので終了します。だから、あなたはこの行でこれを見ることはありませんint x = 2;。 F8を押すと、デバッグされずに実行されるだけなので、変数xも表示されません。デバッガは、デバッグ中であり深くはない、mainのコンテキストに固執しています。

トレースインを選択すると、デバッガはmyFuncを実行しようとしますが、その行を実行すると他のコード行が表示されます。それは、実行する必要のある命令の行が見つかるまで、より深く進むでしょう。これにより、アプリケーション全体と同時にmyFuncfuncTwoと変数xをデバッグすることができます。

関連する問題