code::Block单步调试中的一个问题

简介:   zhixing909090给我来信说Code::Block中单步执行时的问题,我让他/她发来程序。  程序是:#include <iostream>using namespace std;int main( ){ double r1,r2,r; //定义变量,用来表示待串联的电阻值及并联后的电阻值 cout<<"请输入两个电阻的阻值:";

  zhixing909090给我来信说Code::Block中单步执行时的问题,我让他/她发来程序。

  程序是:

#include <iostream>
using namespace std;
int main( )
{
    double r1,r2,r; //定义变量,用来表示待串联的电阻值及并联后的电阻值
    cout<<"请输入两个电阻的阻值:"; //输出字符串,作为对“用户”的提示
    cin>>r1>>r2; //由用户输入待串联的电阻值
    r=r1+r2; //实现计算,将r1+r2的结果赋值给r
    cout<<"串联后的阻值为:"<<r<<endl; //输出计算结果
    return 0;
}
  他/她说:“老师就是你的那个程序!单步调试,若定义int能通过,但是double通不过!到cin>>死活输不出来!我试了好多遍!我用的是code13.12最新版本!”


  我调试,果然如此。但无法解释。如何答复?我不知道。最后,我这样答复。

  我试过了,确实如你所言。这是否是Code::Block的一个Bug,我不敢肯定,可以通过邮件反馈一下。
  不过,我们可以绕开这样的问题,原则就是不要进入到这个陷阱中去。我提示两个方法:(1)替换:调试中,给变量直接赋值,如你的程序中,将cin>>r1>>r2加上注释,同时写对r1和r2的赋值语句,单步执行能够顺利过去;(2)忽视:通过加断点,跳过cin,而不是机械地一步一步操作。要搞清目标是跟踪过程,而保证输入没有问题,cin完全用不着去step。实际上,即使没有bug,也要适应利用断点,这是一个可以高效的方式。
  我解释不了这段错误,就给你提点“避障”的办法,供参考。科学问题,一定要追根问底,而对这类工程中遇见的问题,首要的原则,让事情能做下去。


  顺便提code::Block中的另一个问题:当项目所在文件名夹中含有中文、空格时,单步高度无法进行。对策:养成习惯,建文件夹时,按字线开头、数字字母串的一般规范去命名。


  存在问题不怕,重要的是找到应对的原则,也是一种选择。




china-pub(正在发售)
卓越网(接受预订) 
图灵社区  官方试读本下载
豆瓣
==================== 迂者 贺利坚 CSDN博客专栏=================
|== IT学子成长指导专栏 专栏文章分类目录(不定期更新)  ==|
|== C++ 课堂在线专栏  贺利坚课程教学链接(分课程年级) ==|
===== 为IT菜鸟起飞铺跑道,和学生一起享受快乐和激情的大学 =====

  
    







目录
相关文章
|
30天前
|
NoSQL C++ 开发者
【C/C++ 调试 GDB指南 】GDB中的‘info’命令:一次全面的探索
【C/C++ 调试 GDB指南 】GDB中的‘info’命令:一次全面的探索
39 0
|
1月前
|
NoSQL 算法 Shell
【C/C++ 调试 GDB指南 】详解 gdb 断点的设置方式
【C/C++ 调试 GDB指南 】详解 gdb 断点的设置方式
19 2
|
7月前
|
XML 搜索推荐 数据格式
Smart Table Personalization 功能的一些单步调试
Smart Table Personalization 功能的一些单步调试
27 0
|
7月前
|
调度 Windows
cy.visit 执行逻辑的单步调试
cy.visit 执行逻辑的单步调试
58 0
|
iOS开发 Python
iOS小技能:lldb打印block参数签名
iOS逆向时经常会遇到参数为block类型,本文介绍一个lldb script,可快速打印出Objective-C方法中block参数的类型。
159 0
iOS小技能:lldb打印block参数签名
Visual Studio Code设置断点时出现Unverified breakpoint该咋办
Visual Studio Code设置断点时出现Unverified breakpoint该咋办
498 0
|
JavaScript 前端开发
通过一个简单的例子,了解如何单步调试 Cypress 代码
通过一个简单的例子,了解如何单步调试 Cypress 代码
通过一个简单的例子,了解如何单步调试 Cypress 代码
SAP UI5 busy Dialog debug - 单步调试
Created by Wang, Jerry, last modified on Jul 04, 2015
93 0
SAP UI5 busy Dialog debug - 单步调试
VC++调试,TRACE()函数的用法
VC++调试,TRACE()函数的用法
136 0
VC++调试,TRACE()函数的用法
|
C++