GDB再学习(5.4):常用指令介绍_ptype/whatis_查看程序符号表

本文详细介绍了GDB调试工具的使用,包括编译、启动、运行及各种调试指令的应用,如查看变量、内存、函数栈、类型信息和断点设置。通过实例演示了如何使用ptype和whatis命令查看符号表,并提供了代码调试的实战经验。涵盖了从基本的指令操作到复杂的线程和事件断点调试,以及生成Core文件和远程调试gdbserver的用法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

系列文章目录

GDB再学习(1):前言
GDB再学习(2):编译
GDB再学习(3):GDB的启动和运行
GDB再学习(4):程序准备
GDB再学习(5):常用指令介绍
GDB再学习(5.1):常用指令介绍_print/display_查看变量或寄存器中的值
GDB再学习(5.2):常用指令介绍_examine_查看内存区域的数值
GDB再学习(5.3):常用指令介绍_backtrace_查看函数栈
GDB再学习(5.4):常用指令介绍_ptype/whatis_查看程序符号表
GDB再学习(6):断点调试之软件断点
GDB再学习(7):断点调试之硬断点
GDB再学习(8):断点调试之数据断点
GDB再学习(9):断点调试之事件断点
GDB再学习(10):线程调试相关
GDB再学习(11):如何生成Core文件
GDB再学习(12):gdb server的使用




1 指令说明

ptype和whatis都可以用来查看符号表。

2 代码准备

使用如下代码进行测试

#include <stdio.h>
#include <string.h>
#include <signal.h>
#include <stdlib.h>

int j = 0;

int test2()
{
	char* s8Buf = NULL;
	
	strcpy(s8Buf, "8888");
	
	return 0;
}

int main()
{
	int i  = 0;
	
	for (i = 0; i < 60; i++)
	{
		j++;
		printf("-------->index %d\n", i);
		sleep(1);
	}

	test2();
	
	return 0;
}

3 指令测试

3.1 ptype xxx

xxx可以是变量、函数名、结构体等。

(gdb) ptype test2
type = int ()
(gdb) ptype j
type = int
(gdb) 

3.2 whatis xxx

xxx可以是变量、函数名、结构体等。

(gdb) whatis test2
type = int ()
(gdb) whatis j
type = int
(gdb) 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值