软件使用[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个字节;
原文地址:https://www.cnblogs.com/motadou/p/1732880.html