演练:测试项目 (C++)

在调试模式下运行程序时,可使用断点来暂停程序以检查变量和对象的状态。

在本演练中,将在程序运行时观察变量的值,并推导出为什么该值不是期望的值。

先决条件

在调试模式下运行程序

  1. 打开 Game.cpp 进行编辑。

  2. 选择此代码行:

    Cardgame solitaire(1);

  3. 要在该行上设置断点,请在菜单栏上选择“调试”>“切换断点”,或选择 F9 键。 行的左侧出现一个红色圆圈,它表示已设置断点。 要删除断点,可再次选择菜单命令或 F9 键。

    如果使用鼠标,也可通过单击左边距来设置或删除断点。

  4. 在菜单栏上,依次选择“调试”>“启动调试”,或选择 F5 键。

    由于程序处于“中断”模式,因此当程序到达断点行时,执行将暂停。 代码行左侧的黄色箭头表示它是要执行的下一行。

  5. 要检查变量 Cardgame::totalParticipants 的值,请将指针移到 Cardgame 上,然后将其移到工具提示窗口左侧的扩展控件上。 显示变量名称 totalParticipants 及其值 12。

    打开变量 Cardgame::totalParticipants 的快捷菜单,然后选择“添加监视”以在“监视 1”窗口中显示该变量。 也可突出显示一个变量并将其拖动到“监视 1”窗口。

  6. 要转到下一代码行,请在菜单栏上依次选择“调试”>“逐过程执行”或选择 F10 键。

    “监视 1”窗口中 Cardgame::totalParticipants 的值现在显示为 13

  7. 打开 return 0; 语句的快捷菜单,然后选择“运行到光标处”。 代码左侧的黄色箭头指向要执行的下一语句。

  8. Cardgame 终止时,Cardgame::totalParticipants 数应减少。 此时,Cardgame::totalParticipants 应等于 0,因为已删除所有 Cardgame 实例,但“监视 1”窗口指示 Cardgame::totalparticipants 等于 18。 此差异表明代码中存在 bug。 可通过完成下一个演练(演练:调试项目 (C++))来检测和修复该 bug。

  9. 要停止该程序,请在菜单栏上选择“调试”>“停止调试”或选择 Shift+F5 键盘快捷方式。

后续步骤

上一步:演练:生成项目 (C++)
下一步:演练:调试项目 (C++)

另请参阅

C++ 语言参考
项目和生成系统