【问题标题】:What is difference between trace into (F7) and step over (F8) in Turbo c++?Turbo c ++中的trace into (F7)和step over (F8)有什么区别?
【发布时间】:2017-09-21 12:32:02
【问题描述】:

turbo c++中trace into和step over的主要区别是什么

【问题讨论】:

  • 试一试,你就会发现不同。
  • 请注意,您确实不应该使用 TurboC++。它现在已经 20 多年了,甚至不符合 C++98 标准。您可以使用许多更新的免费选项。
  • 如果你使用了一个真正体面的编译器,你就不需要知道其中的区别。
  • 第一个将调试器移动到被调用的函数中,第二个将简单地执行该函数并移动到当前函数的下一行。

标签: c++


【解决方案1】:

假设您有以下程序:

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

void myFunc() {
    funcTwo();
}

void funcTwo() {
   int x = 2;
}

如果您选择 Step Over,调试器将运行 myFunc,并且由于 main 函数中没有下一行,它将结束。所以你不会在int x = 2; 这一行看到这个中断。按 F8 后,您甚至不会看到变量 x,因为它只是运行而不调试。调试器坚持您正在调试的main 的上下文,而不是更深入。

通过选择 Trace Into,调试器会尝试运行myFunc,它会看到运行该行时,里面还有其他代码行。它将更深入,直到找到需要运行的指令行。这允许您在调试完整应用程序的同时调试myFuncfuncTwo 和变量x

【讨论】:

    猜你喜欢
    • 2011-04-04
    • 2019-02-21
    • 2012-12-07
    • 2011-07-20
    • 2018-03-13
    • 2020-04-20
    • 2021-10-21
    • 2016-11-15
    • 1970-01-01
    相关资源
    最近更新 更多