首页 星云 工具 资源 星选 资讯 热门工具
:

PDF转图片 完全免费 小红书视频下载 无水印 抖音视频下载 无水印 数字星空

拓展之crash-gcore ,github源码

操作系统 72.35KB 24 需要积分: 1
立即下载

资源介绍:

拓展crash-gcore,csdn源码
/* x86.c -- core analysis suite * * Copyright (C) 2010-2023 Fujitsu Limited * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. */ #if defined(X86) || defined(X86_64) #include "defs.h" #include #include #include #include #undef MIN #define MIN(X,Y) (((X) < (Y)) ? (X) : (Y)) struct gcore_x86_table { #ifdef X86_64 ulong (*get_old_rsp)(int cpu); ulong (*user_stack_pointer)(struct task_context *tc); #endif ulong (*get_thread_struct_fpu)(struct task_context *tc); ulong (*get_thread_struct_fpu_size)(void); #ifdef X86_64 int (*is_special_syscall)(int nr_syscall); int (*is_special_ia32_syscall)(int nr_syscall); #endif int (*tsk_used_math)(ulong task); }; static struct gcore_x86_table gcore_x86_table; struct gcore_x86_table *gxt = &gcore_x86_table; static void gdb_run_command(char *cmd, char *buf, size_t size); static int get_vsyscall_mode_none(void); #ifdef X86_64 static ulong gcore_x86_64_get_old_rsp(int cpu); static ulong gcore_x86_64_get_per_cpu__old_rsp(int cpu); static ulong gcore_x86_64_get_cpu_pda_oldrsp(int cpu); static ulong gcore_x86_64_get_cpu__pda_oldrsp(int cpu); static ulong gcore_x86_64_user_stack_pointer_userrsp(struct task_context *tc); static ulong gcore_x86_64_user_stack_pointer_pt_regs(struct task_context *tc); #endif static ulong gcore_x86_get_thread_struct_fpu_fpregs_state(struct task_context *tc); static ulong gcore_x86_get_thread_struct_fpu_thread_xstate(struct task_context *tc); static ulong gcore_x86_get_thread_struct_fpu_thread_xstate_size(void); static ulong gcore_x86_get_thread_struct_thread_xstate(struct task_context *tc); static ulong gcore_x86_get_thread_struct_thread_xstate_size(void); static ulong gcore_x86_get_thread_struct_i387(struct task_context *tc); static ulong gcore_x86_get_thread_struct_i387_size(void); #ifdef X86_64 static void gcore_x86_table_register_get_old_rsp(void); #endif static void gcore_x86_table_register_get_thread_struct_fpu(void); #ifdef X86_64 static void gcore_x86_table_register_is_special_syscall(void); static void gcore_x86_table_register_is_special_ia32_syscall(void); #endif static void gcore_x86_table_register_tsk_used_math(void); #ifdef X86_64 static int is_special_syscall_v0(int nr_syscall); static int is_special_syscall_v26(int nr_syscall); #endif static int test_bit(unsigned int nr, const ulong addr); #ifdef X86_64 static int is_ia32_syscall_enabled(void); static int is_special_ia32_syscall_v0(int nr_syscall); static int is_special_ia32_syscall_v26(int nr_syscall); #endif static int tsk_used_math_v0(ulong task); static int tsk_used_math_v11(ulong task); static int tsk_used_math_v4_14(ulong task); #ifdef X86_64 static void gcore_x86_64_regset_xstate_init(void); #endif static int genregs_get32(struct task_context *target, const struct user_regset *regset, unsigned int size, void *buf); #ifdef X86 static void gcore_x86_32_regset_xstate_init(void); #endif static int get_xstate_regsets_number(void); enum gcore_regset { REGSET_GENERAL, REGSET_FP, REGSET_XFP, REGSET_IOPERM64 = REGSET_XFP, REGSET_TLS, REGSET_IOPERM32, REGSET_XSTATE, }; #define NT_386_TLS 0x200 /* i386 TLS slots (struct user_desc) */ #ifndef NT_386_IOPERM #define NT_386_IOPERM 0x201 /* x86 io permission bitmap (1=deny) */ #endif #define NT_X86_XSTATE 0x202 /* x86 extended state using xsave */ #define NT_PRXFPREG 0x46e62b7f /* copied from gdb5.1/include/elf/common.h */ #define USER_XSTATE_FX_SW_WORDS 6 #define MXCSR_DEFAULT 0x1f80 #ifdef X86_64 /* This matches the 64bit FXSAVE format as defined by AMD. It is the same as the 32bit format defined by Intel, except that the selector:offset pairs for data and eip are replaced with flat 64bit pointers. */ struct user_i387_struct { unsigned short cwd; unsigned short swd; unsigned short twd; /* Note this is not the same as the 32bit/x87/FSAVE twd */ unsigned short fop; uint64_t rip; uint64_t rdp; uint32_t mxcsr; uint32_t mxcsr_mask; uint32_t st_space[32]; /* 8*16 bytes for each FP-reg = 128 bytes */ uint32_t xmm_space[64]; /* 16*16 bytes for each XMM-reg = 256 bytes */ uint32_t padding[24]; }; #endif struct user_i387_ia32_struct { uint32_t cwd; uint32_t swd; uint32_t twd; uint32_t fip; uint32_t fcs; uint32_t foo; uint32_t fos; uint32_t st_space[20]; /* 8*10 bytes for each FP-reg = 80 bytes */ }; struct user32_fxsr_struct { unsigned short cwd; unsigned short swd; unsigned short twd; /* not compatible to 64bit twd */ unsigned short fop; int fip; int fcs; int foo; int fos; int mxcsr; int reserved; int st_space[32]; /* 8*16 bytes for each FP-reg = 128 bytes */ int xmm_space[32]; /* 8*16 bytes for each XMM-reg = 128 bytes */ int padding[56]; }; struct i387_fsave_struct { uint32_t cwd; /* FPU Control Word */ uint32_t swd; /* FPU Status Word */ uint32_t twd; /* FPU Tag Word */ uint32_t fip; /* FPU IP Offset */ uint32_t fcs; /* FPU IP Selector */ uint32_t foo; /* FPU Operand Pointer Offset */ uint32_t fos; /* FPU Operand Pointer Selector */ /* 8*10 bytes for each FP-reg = 80 bytes: */ uint32_t st_space[20]; /* Software status information [not touched by FSAVE ]: */ uint32_t status; }; struct i387_fxsave_struct { uint16_t cwd; /* Control Word */ uint16_t swd; /* Status Word */ uint16_t twd; /* Tag Word */ uint16_t fop; /* Last Instruction Opcode */ union { struct { uint64_t rip; /* Instruction Pointer */ uint64_t rdp; /* Data Pointer */ }; struct { uint32_t fip; /* FPU IP Offset */ uint32_t fcs; /* FPU IP Selector */ uint32_t foo; /* FPU Operand Offset */ uint32_t fos; /* FPU Operand Selector */ }; }; uint32_t mxcsr; /* MXCSR Register State */ uint32_t mxcsr_mask; /* MXCSR Mask */ /* 8*16 bytes for each FP-reg = 128 bytes: */ uint32_t st_space[32]; /* 16*16 bytes for each XMM-reg = 256 bytes: */ uint32_t xmm_space[64]; uint32_t padding[12]; union { uint32_t padding1[12]; uint32_t sw_reserved[12]; }; } __attribute__((aligned(16))); struct i387_soft_struct { uint32_t cwd; uint32_t swd; uint32_t twd; uint32_t fip; uint32_t fcs; uint32_t foo; uint32_t fos; /* 8*10 bytes for each FP-reg = 80 bytes:

资源文件列表:

crash-gcore-1.6.4.zip 大约有27个文件
  1. crash-gcore-1.6.4/
  2. crash-gcore-1.6.4/COPYING 17.67KB
  3. crash-gcore-1.6.4/Makefile 792B
  4. crash-gcore-1.6.4/README 4.38KB
  5. crash-gcore-1.6.4/src/
  6. crash-gcore-1.6.4/src/gcore.c 19.79KB
  7. crash-gcore-1.6.4/src/gcore.mk 2.85KB
  8. crash-gcore-1.6.4/src/libgcore/
  9. crash-gcore-1.6.4/src/libgcore/gcore_arm.c 3.69KB
  10. crash-gcore-1.6.4/src/libgcore/gcore_arm64.c 6.13KB
  11. crash-gcore-1.6.4/src/libgcore/gcore_compat_arm.h 1.3KB
  12. crash-gcore-1.6.4/src/libgcore/gcore_compat_x86.h 1.08KB
  13. crash-gcore-1.6.4/src/libgcore/gcore_coredump.c 38.35KB
  14. crash-gcore-1.6.4/src/libgcore/gcore_coredump_table.c 12.77KB
  15. crash-gcore-1.6.4/src/libgcore/gcore_defs.h 34.38KB
  16. crash-gcore-1.6.4/src/libgcore/gcore_dumpfilter.c 6.38KB
  17. crash-gcore-1.6.4/src/libgcore/gcore_elf_struct.c 10.16KB
  18. crash-gcore-1.6.4/src/libgcore/gcore_global_data.c 1.09KB
  19. crash-gcore-1.6.4/src/libgcore/gcore_mips.c 4.25KB
  20. crash-gcore-1.6.4/src/libgcore/gcore_ppc64.c 1.88KB
  21. crash-gcore-1.6.4/src/libgcore/gcore_regset.c 1.67KB
  22. crash-gcore-1.6.4/src/libgcore/gcore_verbose.c 2.35KB
  23. crash-gcore-1.6.4/src/libgcore/gcore_x86.c 69.07KB
  24. crash-gcore-1.6.4/target/
  25. crash-gcore-1.6.4/target/Makefile 84B
  26. crash-gcore-1.6.4/target/runtargets.sh 464B
  27. crash-gcore-1.6.4/target/target-gcore_dumpfilter.c 4.81KB
0评论
提交 加载更多评论
其他资源 最简单的基于GO的文件服务器
最简单的基于GO的文件服务器
(解压密码1234) C#混淆加密大师1.2.0最新版
资源解压密码1234, C#混淆加密大师是一款专为保护C#开发的DLL和EXE文件而设计的强大工具,适用于各种应用程序,包括Winform、WPF、Unity游戏以及控制台程序。该工具支持从.Net Framework 2.0到.Net Framework 4.x,以及.NET Core 2.0至最新的.NET 8版本。C#混淆加密大师不仅提供代码加密和混淆功能,还能对EXE文件进行加壳处理,增强防篡改能力,并注入无用数据,从而有效保护您的C#程序代码,防止非法复制或篡改,确保您的知识产权得到充分保障。通过使用C#混淆加密大师,可以大幅提升应用程序的安全性和可靠性,确保您的软件在各种环境中都能安全运行。无论是企业级应用还是个人项目,C#混淆加密大师都是您保护C#代码的理想选择。
很好的MCJAVA版启动器-HMCL与PCL
网上的介绍已经够了,还是下载下来试试吧
2022年第一篇C语言50行代码制作爱心电子相册的代码
2022年第一篇C语言50行代码制作爱心电子相册的代码
qt 中国象棋源码,界面学习
qt 中国象棋源码,界面学习,人人对战,网络对战。
linux 安装protobuf资源包
linux 安装protobuf资源包
c++基于链表的图书信息管理系统.zip
设计一个图书信息管理系统,要求完成以下功能: (1)图书信息包含书号、书名、出版社、价格四个部分 (2)图书信息用文件存储。 (3)可以增加新图书。 (4)可以修改某个图书信息(书号不能改)。 (5)可以删除某些图书信息(分别按书号和书名进行删除)。 (6)可以按书号或书名进行精确查找(按书名查找时,如果有多本图书,则全部查找出来,并输出其查找长度)。 (7)可以按价格范围进行查找(结果按价格降序输出)。 (8)查找某个作者出版的所有图书信息,按价格升序输出。 (9)可以按书名进行模糊查找。 (10)输出所有图书信息。 a)按出版社输出所有图书,同一出版社的图书按作者输出。 b)按作者输出所有图书,同一作者的图书按价格升序输出。 (11)统计。 a) 统计每个出版社出版的图书总数,按图书总数升序输出。 b) 统计每个作者出版的图书总数,按图书总数降序输出。
fyfyfyfyfyfyfyfyfyfyfyfy
fyfyfyfyfyfyfyfyfyfyfyfy