美文网首页
c基础 - debug调试 根据地址查询该地址对应数据值

c基础 - debug调试 根据地址查询该地址对应数据值

作者: 世道无情 | 来源:发表于2019-03-02 05:51 被阅读0次
    1. 概述

    下边通过代码演示: 通过打印 i 的地址,然后用 debug的方式调试,用于验证 根据 变量i的地址可以查询出这个地址对应的数据
    下边先说下 c语言中的 变量的地址

    2. 变量的地址

    定义:任何的数据 或者 任何的变量都会有地址,这个地址就相当于我们生活中的住址和门牌号,因为在 c和c++中的所有操作基本都是去操作指针。

    3. 代码如下

    下边代码意思是:
    1>:定义变量 i = 100,用占位符 %p,用于打印输出 i的地址,打印结果为:0034FDC0;
    2>:然后采用debug方式调试,把这个地址0034FDC0粘贴到输入框中,用于查询这个地址对应的值,看是否是100,如果这个值是100,就验证了 可以根据地址查询该地址对应的数据,具体debug流程,看下边第4的断点调试

    #include<stdio.h>  // 导入头文件,头文件都是方法的声明。
    void main(){
    
        int i = 100;
        // &: 表示取变量的地址
        // 通过 debug的调试:我们可以根据地址去查询 该地址对应的数据。
        // int类型是4字节,sizeof():获取数据类型所占字节数
        printf("i的地址是:%p" , &i);
        getchar();
    }
    

    说明如下:

    1.  &:表示获取变量的地址,&i就是获取 变量i的地址;
    2.  int类型是4 字节,sizeof()方法用于获取数据类型所占字节数
    
    4. 断点调试

    通过 debug 断点调试,可以根据地址去 查询 该地址对应的数据;

    1>:在代码左边单击;
    2>:然后点击调试;
    3>:然后点击 逐语句,这个是下一步的意思;
    4>:这个时候在 doc中,就会打印出i的地址,然后鼠标在doc的上边右键 -> 标记 -> 选中地址 -> 右键 -> 复制,这个时候就会复制这个地址

    5>:然后点击 调试下边步骤:


    图片.png

    6>:然后把上边复制的地址粘贴到这个输入框中,敲回车,会发现地址看不懂,没有关系,这些都是系统的一些地址,不需要关心,发现下边数字是64,不对,这里就需要在这些地址框上边 右键 -> 选中4字节整数,因为int是4字节;


    图片.png

    7>:然后出现下边图,发现数字不对,还是64;


    图片.png

    8>:这个时候 100就出来了;


    图片.png
    debug的结果:

    根据 debug调试:我们可以得出:根据 地址可以查询出该地址对应的数据值;

    相关文章

      网友评论

          本文标题:c基础 - debug调试 根据地址查询该地址对应数据值

          本文链接:https://www.haomeiwen.com/subject/ihuoiftx.html