首页 > 其他分享 >crash —— 如何查看数据是什么类型以及函数原型

crash —— 如何查看数据是什么类型以及函数原型

时间:2023-09-24 10:11:17浏览次数:27  
标签:crash struct 查看 unsigned long 原型 PG whatis

在crash中可以用whatis命令查看数据类型信息以及函数的原型。

如果想知道某个数据是什么类型那么可以用下面的方法:

查看结构体的定义

crash> whatis mm_struct
struct mm_struct {
    struct {
        struct maple_tree mm_mt;
        unsigned long (*get_unmapped_area)(struct file *, unsigned long, unsigned long, unsigned long, unsigned lon;
        unsigned long mmap_base;
        unsigned long mmap_legacy_base;
...

上面显示mm_struct是一个结构体,那么也可以用struct命令:

crash> struct mm_struct
struct mm_struct {
    struct {
        struct maple_tree mm_mt;
        unsigned long (*get_unmapped_area)(struct file *, unsigned long, unsigned long, unsigned long, unsigned lon;
        unsigned long mmap_base;
        unsigned long mmap_legacy_base;
...

查看联合体的定义

crash> whatis snd_pcm_sync_id
union snd_pcm_sync_id {
    unsigned char id[16];
    unsigned short id16[8];
    unsigned int id32[4];
}
SIZE: 16

查看typedef类型

crash> whatis call_single_data_t
typedef struct __call_single_data {
    struct __call_single_node node;
    smp_call_func_t func;
    void *info;
} call_single_data_t;
SIZE: 32

crash> whatis cpumask_var_t
typedef struct cpumask {
    unsigned long bits[1];
} [1] cpumask_var_t;
SIZE: 8

crash> whatis smp_call_func_t
typedef void (*)(void *) smp_call_func_t;
SIZE: 8

查看枚举类型的定义

crash> whatis acpi_execute_type
typedef enum {
  OSL_GLOBAL_LOCK_HANDLER = 0
  OSL_NOTIFY_HANDLER = 1
  OSL_GPE_HANDLER = 2
  OSL_DEBUGGER_MAIN_THREAD = 3
  OSL_DEBUGGER_EXEC_THREAD = 4
  OSL_EC_POLL_HANDLER = 5
  OSL_EC_BURST_HANDLER = 6
} acpi_execute_type;

crash> whatis pageflags

enum pageflags {
  PG_locked = 0
  PG_referenced = 1
  PG_uptodate = 2
  PG_dirty = 3
  PG_lru = 4
  PG_active = 5
  PG_workingset = 6
  PG_waiters = 7
  PG_error = 8
  PG_slab = 9
  PG_owner_priv_1 = 10
  PG_arch_1 = 11
  ...
};

查看函数原型

crash> whatis blk_update_request
bool blk_update_request(struct request *, blk_status_t, unsigned int);

查看全局变量的类型

crash> whatis cfd_data
struct call_function_data cfd_data;

标签:crash,struct,查看,unsigned,long,原型,PG,whatis
From: https://www.cnblogs.com/pengdonglin137/p/17725654.html

相关文章

  • CentOS轻松查看监听端口,实用技巧与案例
    在进行服务器安全设置时,了解当前系统的监听端口是非常重要的。CentOS作为一种流行的Linux操作系统,在查看监听端口方面也有其独特的方法。本文将详细介绍如何在CentOS上查看监听端口,并提供相关案例、数据和技巧centos查看监听端口,帮助读者轻松掌握服务器安全。一、什么是监听端口?......
  • CentOS如何查看是否安装FTP并设置端口?
    FTP是传输文件的常用协议之一linux系统怎么样,而在CentOS系统上是否安装了FTP,对于管理者和用户来说都是非常关键的。本篇文章将从以下八个方面进行深入分析:1.什么是FTP;2.CentOS下如何安装FTP;3.CentOS下如何启动FTP服务;4.CentOS下如何设置FTP服务的端口;5.CentOS下如何设置匿名访......
  • crash —— 获取系统的磁盘IO统计数据
    crash的dev命令可以获取系统磁盘IO的统计数据。获取所有磁盘的IO统计数据crash>dev-dMAJORGENDISKNAMEREQUEST_QUEUETOTALASYNCSYNC8ffff88de95d51000sdmffff88de94a90000653791776636038ffff88deb2396800sd......
  • crash —— 如何获取IO port和IO memory使用情况
    在linux中通过/proc/ioport和/proc/iomem可以获取系统的IO端口和内存的布局信息,在crash中需要使用dev命令来获取。crash>dev-iRESOURCERANGENAMEffffffff822668c00000-ffffPCIIOffff88deafffd5a00000-0cf7PCIBus0000:00ffffffff822407000000-......
  • crash —— 如何查看PCI设备拓扑?
    在linux系统上用lspci可以查看PCI设备信息,crash的dev命令也提供了这个功能。crash>dev-pROOTBUSBUSNAMEffff893eaeb430000000:00PCIDEVDO:BU:SL.FNCLASSPCI_IDTYPEffff88deaf8130000000:00:00.006008086:2020ROOT_PORTffff......
  • crash —— 如何获取某个系统调用入口代码?
    通过sys命令可以获取当前系统的系统调用的信息:crash>sys-cNUMSYSTEMCALLFILEANDLINENUMBER0__x64_sys_read../fs/read_write.c:6211__x64_sys_write../fs/read_write.c:6462__x64_sys_open../f......
  • crash —— 查看内核配置
    在编译内核时如果配置了CONFIG_IKCONFIG,那么内核配置文件会被内嵌到内核中,那么可以通过crash工具将其输出出来。crash>sysconfig##Automaticallygeneratedfile;DONOTEDIT.#Linux/x864.18.0KernelConfiguration###Compiler:gcc(Ubuntu5.4.0-6ubuntu1~16.04.......
  • Kubernetes 查看api
    [root@k8sm1~]#kubectlapi-versions......
  • crash工具使用 —— 查看DMI信息
    在linux上一般通过dmidecode来获取DMI信息,crash也提供了获取DMI信息的命令,不过内容不会像dmidecode那么详细。crash>sys-iDMI_BIOS_VENDOR:SeaBIOSDMI_BIOS_VERSION:rel-1.14.0-0-g155821a1990b-prebuilt.qemu.orgDMI_BIOS_DATE:04/01/20......
  • crash工具使用 —— 省去输入struct或者union关键字
    使用crash工具根据地址查看结构体的内容时,有时需要输入struct或者union,多少有些繁琐,crash提供了*命令,直接跟在结构体或者联合体的名字的前面即可。示例:带structcrash>structkmem_cache-xffff893751f60800structkmem_cache{cpu_slab=0x5fc135c77b40,flags=......