软件使用[07]

#include <iostream>



int testString()

{

    char szBuff[1024];

    memset(szBuff, 0, sizeof(szBuff));



    snprintf(szBuff, sizeof(szBuff), "%s", "abcdefg01\023\0456\r78\n9");



    int * parr = new int[20];

	

    for (int i = 0; i < 20; i++)

    {

        parr[i] = i;

        parr[i] = i + 1;

        parr[i] = i + 2;

    }

	



    printf("%d\n", parr[1]);

    printf("%d\n", parr[2]);

	

    return 0;

}



int main()

{

    testString();



    return 0;

}

2 -- 流程控制类命令
退出循环命令:"u"或者"until 行号"
Breakpoint 1, testString () at togdb.cpp:12

12              for (int i = 0; i < 20; i++)

(gdb) n

14                      parr[i] = i;

(gdb) u

15                      parr[i] = i + 1;

(gdb) 

16                      parr[i] = i + 2;

(gdb) 

12              for (int i = 0; i < 20; i++)

(gdb) 

20          return 0;

(gdb) 

在循环体内使用"u"命令,执行完该循环体内的语句后,跳转到for语句出,继续按“回车”键不再进入循环体,跳过执行到for循环后的语句。
或者使用"until 20",直接跳转到for循环外的语句开始执行。
3 -- 查看内存命令和方法
使用examine命令(x)来查看内存地址中的值。命令格式如:
x/nfu <addr>

参数n 表示要显示的内存单元的个数
参数f 表示显示方式, 可取如下值:
x 按十六进制格式显示变量,(hex);
a 按十六进制格式显示变量,(address);
d 按十进制格式显示变量,(decimal);
u 按十进制格式显示无符号整型,(unsigned decimal);
o 按八进制格式显示变量,(octal);
t 按二进制格式显示变量,(binary);
i 指令地址格式,(instruction);
c 按字符格式显示变量,c(char);
f 按浮点数格式显示变量,(float)
参数u 表示一个元素单元的长度,可取如下值:
b 表示单字节,(byte);
h 表示双字节,(halfword);
w 表示四字节,(word);
g 表示八字节,(giant, 8 bytes)
比如查看,szBuff缓存区头100个字节,使用命令:
x/100cb szBuff 表示从szBuff开始读取100个元素,每个元素1个字节,以字符形式显示;
x/100xb szBuff 表示从szBuff开始读取100个元素,每个元素1个字节,以十六进制显示;
x/100xh szBuff 表示从szBuff开始读取100个元素,每个元素2个字节,以十六进制显示,实际读取200个字节;

你可能感兴趣的:(软件)