调试器试图再次打电话

单步执行是一种调试器功能,它允许您逐行执行(逐步执行)代码行。这允许您孤立地检查每一行代码,以确定它是否按预期的方式运行。


实际上有3种不同的步进指令:单步执行、单步执行、逐步退出。我们将依次讨论每一个问题。


步进


进入命令执行下一行代码。如果该行是函数调用,则“进入”进入函数并返回函数顶部的控件。


让我们来看一个非常简单的程序:

3
4
5
6
7
8
9
10
11
12
#include <iostream>
 
void printValue(int nValue)
{
    std::cout << nValue;
}
 
int main()
{
    printValue(5);
    return 0;
}
你知道的,运行程序时,执行一开始就调用main()。因为我们想调试main()里面,我们开始用“进入”命令。


在Visual Studio 2005 Express,去“调试”菜单并选择“进入”,或按F11。
如果您使用的是不同的IDE,请在菜单中找到“进入”命令并选择它。


当你这样做的时候,应该发生两件事。首先,因为我们的应用程序是一个控制台程序,控制台输出窗口应该打开。它将是空的,因为我们还没有输出任何东西。第二,你应该看到一些标记出现在左边的主支架的左边。在Visual Studio 2005 Express中,这个标记是一个黄色箭头。如果您使用的是不同的IDE,那么您应该看到具有相同用途的东西。
3
4
5
6
7
8
9
10
11
12
#include <iostream>
 
void printValue(int nValue)
{
    std::cout << nValue;
}
 
int main()
{
    printValue(5);
    return 0;
}

虽然你可能认为,调试器试图再次打电话printvalue(),实际上调试器只是让你知道,它是从函数调用返回。


选择“再踏进”两次。在这一点上,我们已经执行了我们程序中的所有行,所以我们完成了。一些调试器将终止调试会话自动在这一点上。Visual Studio没有,所以如果您使用VisualStudio,请从“调试”菜单中选择“停止调试”。这将终止调试会话。


注意,调试过程中的任何一点都可以使用“停止调试”以结束调试会话。


步过


与“单步执行”一样,“单步执行”命令执行下一行代码。如果该行是一个函数调用,则“单步执行”执行函数中的所有代码,并在函数执行后将控件返回给您。


代码说明::阻塞用户:在代码::块,“单步执行”被称为“下一行”。


让我们来看一个使用上述程序的示例:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值