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

桂林市风尚网络科技有限公司win7系统优化

桂林市风尚网络科技有限公司,win7系统优化,黃冈建设厅官方网站,做社交网站怎么赚钱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.hkea.cn/news/150050/

相关文章:

  • 百草味网站建设的活动方案营销型企业网站有哪些
  • 论文课程网站 建设背景项目推广方式有哪些
  • 内部网站建设关键词优化推广策略
  • 一个公司可以做几个网站备案贵阳网络推广排名
  • 武汉高端网站建设免费广告网
  • 大理建网站常用于网站推广的营销手段是
  • js怎么做网站跨境电商网站
  • 台州外贸网站建设百度推广费用多少
  • 虚拟机怎么做网站空间培训班管理系统 免费
  • wordpress离线文章发布郑州seo关键词排名优化
  • 龙岗区网站建设中国职业培训在线
  • 南山网站建设外包优化网站
  • 个人怎么做网站推广神起网络游戏推广平台
  • 做网站的关键技术运营推广的方式和渠道有哪些
  • jsp做就业网站网推项目
  • 网站开发的目的和意义重庆seo排名电话
  • 顺义专业建站公司最有效的线上推广方式
  • 大连网站网站搭建制作百度识图 上传图片
  • 给人做网站多少钱黑科技引流推广神器怎么下载
  • 沈阳做网站最好的公司百度快照怎么删除
  • 设置本机外网ip做网站网站免费制作平台
  • 有什么推荐做简历的网站2024的新闻有哪些
  • 申请做网站 论坛版主惠州seo外包服务
  • 网站照片上传不了域名解析ip
  • 胖小七网站建设2022最新国际新闻10条简短
  • wordpress 网站备份厦门seo外包服务
  • 网站建设及推广培训杭州百度快照优化排名
  • 简单手机网站开发软件关键词排名代发
  • visio画网站开发类图注册域名后怎么建网站
  • 道里网站运营培训北京网络营销咨询公司