当前位置: 首页 > news >正文

合肥百度 网站建设app制作公司

合肥百度 网站建设,app制作公司,装饰网站建设策划书,源码之家 网站模板debug - vscode gdb调试指南 文章目录 debug - vscode gdb调试指南前言一、调试代码二、命令查看main反汇编查看寄存器打印某个变量打印寄存器,如pc打印当前函数栈信息(当前执行位置)打印程序栈局部变量x命令的语法如下所示:打印某…

debug - vscode gdb调试指南

文章目录

  • debug - vscode gdb调试指南
  • 前言
  • 一、调试代码
  • 二、命令
    • 查看main反汇编
    • 查看寄存器
    • 打印某个变量
    • 打印寄存器,如pc
    • 打印当前函数栈信息(当前执行位置)
    • 打印程序栈局部变量
    • x命令的语法如下所示:
    • 打印某变量地址


前言

参考:VSCode C/C++(gdb)调试指南

命令参考:
https://www.cnblogs.com/chengliangsheng/p/3597010.html

一、调试代码

 #include <stdio.h>#include <malloc.h>int g_i = 100;int g_j = 200;int g_k, g_h;int main(int argc, char *argv[])
{const int MAXN = 100;int *p = (int*)malloc(MAXN * sizeof(int));    static int s_i = 5;static int s_j = 10;static int s_k;static int s_h;int i = 5;int j = 10;int k = 20;int f, h;char *pstr1 = "magictong Hello World";char *pstr2 = "magictong Hello World";char *pstr3 = "Hello World";printf("堆中数据地址:x%08x\n", p);putchar('\n');printf("i 栈中数据地址(有初值):x%08x = %d\n", &i, i);printf("j 栈中数据地址(有初值):x%08x = %d\n", &j, j);printf("k 栈中数据地址(有初值):x%08x = %d\n", &k, k);printf("f 栈中数据地址(无初值):x%08x = %d\n", &f, f);printf("h 栈中数据地址(无初值):x%08x = %d\n", &h, h);putchar('\n');printf("s_i 静态数据地址(有初值):x%08x = %d\n", &s_i, s_i);printf("s_j 静态数据地址(有初值):x%08x = %d\n", &s_j, s_j);printf("s_k 静态数据地址(无初值):x%08x = %d\n", &s_k, s_k);printf("s_h 静态数据地址(无初值):x%08x = %d\n", &s_h, s_h);putchar('\n');printf("g_i 全局数据地址(有初值):x%08x = %d\n", &g_i, g_i);printf("g_j 全局数据地址(有初值):x%08x = %d\n", &g_j, g_j);printf("g_k 全局数据地址(无初值):x%08x = %d\n", &g_k, g_k);printf("g_h 全局数据地址(无初值):x%08x = %d\n", &g_h, g_h);putchar('\n'); printf("pstr1 字符串常量数据地址:x%08x 指向0x%08x 内容为-%s\n", &pstr1, pstr1, pstr1);printf("pstr2 字符串常量数据地址:x%08x 指向0x%08x 内容为-%s\n", &pstr2, pstr2, pstr2);printf("pstr3 字符串常量数据地址:x%08x 指向0x%08x 内容为-%s\n", &pstr3, pstr3, pstr3);free(p);return 0;}

二、命令

查看main反汇编

-exec disassemble /m main
在这里插入图片描述

查看寄存器

-exec info r
在这里插入图片描述

打印某个变量

-exec print s 或者 --s
在这里插入图片描述

打印寄存器,如pc

-exec print $pc
在这里插入图片描述

打印当前函数栈信息(当前执行位置)

-exec bt 或 -exec info f
在这里插入图片描述

打印程序栈局部变量

-exec info local
在这里插入图片描述

x命令的语法如下所示:

x/ n、f、u是可选的参数。

n 是一个正整数,表示显示内存的长度,也就是说从当前地址向后显示几个地址的内容。

f 表示显示的格式,参见上面。如果地址所指的是字符串,那么格式可以是s,如果地十是指令地址,那么格式可以是i。

u 表示从当前地址往后请求的字节数,如果不指定的话,GDB默认是4个bytes。

u参数可以用下面的字符来代替,b表示单字节,h表示双字节,w表示四字节,g表示八字节。

当我们指定了字节长度后,GDB会从指内存定的内存地址开始,读写指定字节,并把其当作一个值取出来。

表示一个内存地址。n/f/u三个参数可以一起使用。例如:
命令:x/3uh 0x54320表示,从内存地址0x54320读取内容,h表示以双字节为一个单位,3表示三个单位,u表示按十六进制显示。
在这里插入图片描述

16进制格式化打印16个单位的

-exec x/16x 0x5ffe60

打印某变量地址

-exec p &buff
在这里插入图片描述

http://www.jinmujx.cn/news/109064.html

相关文章:

  • 制作自己的网站需要什么品牌推广方案怎么写
  • 济南网站建设策划网络营销策略包括
  • 龙口做网站公司今日军事新闻头条
  • 写一个公司的网络设计方案seo网络推广
  • 网站别人做的收到方正侵权网站建设公司是怎么找客户
  • 怎么做网站卡盟培训心得体会感悟
  • 做视频的网站带模板市场营销产品推广策划方案
  • 软件开发需要哪些人员及其分工搜索引擎优化简称
  • java网站搭建教程seo专员招聘
  • 互联网推广的特点优化大师免费版下载
  • 怎么做电影网站不违法吗盐城seo培训
  • 药品招商网站大全百度关键词优化工具
  • 陕西省医院网站建设管理网页制作与设计教程
  • 河源建网站哈尔滨seo优化培训
  • wordpress可视化编辑短视频seo代理
  • 装饰设计的变形手法有哪些沈阳关键词优化报价
  • 盈润企业网站管理系统长春网站建设公司哪个好
  • 陕西省建设资格注册中心网站网站域名查询系统
  • Wordpress都有什么商城插件zac博客seo
  • 如何做网站源码营销策划的重要性
  • 成都医院手机网站建设东莞网站制作公司
  • sqlite做网站数据库大连百度关键词排名
  • 高校网站建设滞后推广普通话的意义简短
  • dw建设网站视频营销外包公司
  • js网站访问计数什么都不懂能去干运营吗
  • 建网站电话青岛网站优化公司哪家好
  • 头条站长平台昆明自动seo
  • 深圳龙华政府在线官网苏州seo按天扣费
  • 齐诺网站建设东莞网站建设做网站合肥关键词排名
  • 农业网站建设模板下载百度指数三个功能模块