debug学习

简介: debug学习

参考

内核

工具

kdump&crash

drgn

sudo drgn -s /mnt/linux-6.10/vmlinux -c /var/crash/202408232354/dump.202408232354
  • 使用drgn分析live kernel:
    -示例:
sudo drgn -s /mnt/linux-6.10/vmlinux
  • 内核中的一些基于drgn的脚本

decode_stacktrace.sh

faddr2line

pengdl@ubuntu:~/x86/linux-5.19$ ./scripts/faddr2line ./vmlinux proc_reg_open+255 blk_mq_dispatch_rq_list+599
proc_reg_open+255/0x1f0:
proc_reg_open at fs/proc/inode.c:524
blk_mq_dispatch_rq_list+599/0x850:
blk_mq_dispatch_rq_list at block/blk-mq.c:1897
pengdl@ubuntu:~/x86/linux-5.19$ ./scripts/faddr2line ./fs/proc/inode.o  proc_reg_open+255
proc_reg_open+255/0x1f0:
proc_reg_open at /home/pengdl/work/Qemu/x86/linux-5.19/fs/proc/inode.c:524

stack canary

反汇编

硬件断点

  • bpftrace
  • 硬件断点API

gdb

gdb -ex 'info functions' -ex 'info files' -e 'quit' ./hello.ko

debugfs

  • 命令
modprobe ice dyndbg=+p
echo "module ice +p" > /sys/kernel/debug/dynamic_debug/control
sudo insmod ice.ko dyndbg="+p" fwlog_events=0x0FFFFFFF fwlog_level=2

dmesg

  • 命令
# 等待输出新的内容日志: -w
dmesg -w file.log  # 将内核日志重定向到文件中,并且等待输出新的日志
  • 向内核日志缓冲区写入日志
# echo hello > /dev/kmsg

trace

  • 向trace缓冲区写日志
# echo helo > trace_marker

内存类

kasan

OOB

UAF

kfence

OOB

UAF

KCSAN

KMSAN

UBSAN

内存泄漏

slub_debug

死锁

softlockup

hung task

hard lockup

应用

ASAN

Heaptrack

服务器故障排查

相关实践学习
阿里云图数据库GDB入门与应用
图数据库(Graph Database,简称GDB)是一种支持Property Graph图模型、用于处理高度连接数据查询与存储的实时、可靠的在线数据库服务。它支持Apache TinkerPop Gremlin查询语言,可以帮您快速构建基于高度连接的数据集的应用程序。GDB非常适合社交网络、欺诈检测、推荐引擎、实时图谱、网络/IT运营这类高度互连数据集的场景。 GDB由阿里云自主研发,具备如下优势: 标准图查询语言:支持属性图,高度兼容Gremlin图查询语言。 高度优化的自研引擎:高度优化的自研图计算层和存储层,云盘多副本保障数据超高可靠,支持ACID事务。 服务高可用:支持高可用实例,节点故障迅速转移,保障业务连续性。 易运维:提供备份恢复、自动升级、监控告警、故障切换等丰富的运维功能,大幅降低运维成本。 产品主页:https://www.aliyun.com/product/gdb
相关文章
|
Linux SoC
关于S3学习所涉及到的知识(三):Generic PM之Suspend功能&&Gicv3电源/功耗管理
关于S3学习所涉及到的知识(三):Generic PM之Suspend功能&&Gicv3电源/功耗管理
535 0
|
7月前
|
云栖大会
阿里云产品九月刊来啦
2025云栖大会重磅合集,阿里云各产品重大升级发布
453 176
|
12月前
|
安全 Linux 数据安全/隐私保护
Red Hat Enterprise Linux 9.6 (x86_64, aarch64) - 红帽企业 Linux (RHEL)
Red Hat Enterprise Linux 9.6 (x86_64, aarch64) - 红帽企业 Linux (RHEL)
1360 36
Red Hat Enterprise Linux 9.6 (x86_64, aarch64) - 红帽企业 Linux (RHEL)
|
8月前
|
数据采集 物联网 定位技术
RFID成为车辆识别管理最佳选择
随着车辆保有量上升,RFID技术凭借远距离识别、抗干扰强、多标签读取等优势,广泛应用于ETC、停车场、园区管控和物流追踪等领域,大幅提升管理效率与准确性,成为车辆识别管理的最佳选择。
|
10月前
|
人工智能 安全 调度
线上观看人次近 2 万,龙蜥社区走进中兴通讯 MeetUp 圆满结束
近 50 位技术专家共同探讨了 AI 在系统领域的应用和挑战,为 AI 时代国产操作系统的核心竞争力塑造贡献力量。
|
7月前
|
存储 缓存 测试技术
《3D动作游戏连招开发:拆解动态判定与多感官反馈的核心》
本文记录3D硬核动作游戏角色连招系统的开发实践,针对早期依赖引擎状态机导致的操作延迟、打击反馈单一等问题,从需求拆解、技术选型到核心模块开发展开优化。通过联合多岗位梳理“输入容错、动画流畅、多感官反馈”需求,放弃传统状态机,自研“连招状态树”提升响应速度;开发“动态判定器”实现判定框随动作实时变化,构建“多感官反馈中枢”同步音画物理效果。经性能优化(碰撞体分层、判定缓存)与细节打磨(输入缓冲调整、多目标命中支持),解决卡顿、漏判等痛点,最终实现“行云流水且拳拳到肉”的战斗体验,为动作游戏连招系统开发提供实用路径。
524 11
|
人工智能 安全 调度
《鸿蒙NEXT端云垂直整合架构——算力协同调度的智慧引擎》
鸿蒙NEXT通过创新的端云垂直整合架构,实现硬件与云端深度融合,支持高效的算力协同调度。该架构具备智能的算力感知与分配能力,能根据任务需求灵活调配端侧和云端资源,确保实时性和高性能。同时,端云协同的模型训练与优化机制加快了模型迭代,提升了性能。此外,星盾安全架构保障了数据传输和算力调度的安全可靠性。这不仅为用户带来智能、流畅的体验,也为开发者提供了高效开发环境,推动AI技术在鸿蒙生态中的广泛应用。
487 18
|
存储 Kubernetes 监控
Linux eBPF解析
今天,我们来了解下 Linux 系统的革命性通用执行引擎-eBPF,之所以聊着玩意,因为它确实牛逼,作为一项底层技术,在现在的云原生生态领域中起着举足轻重的作用。截至目前,业界使用范围最广的 K8S CNI 网络方案 Calico 已宣布支持 eBPF,而作为第一个实现了Kube-Proxy 所有功能的 K8S 网络方案——Cilium 也是基于 eBPF 技术。因此,只有了解其底层机制,才能有助于更好、更易地融入容器生态中。
816 0
|
存储 算法 安全
AVB数据解析:Android verified boot 2.0 vbmeta 数据结构解析
AVB数据解析:Android verified boot 2.0 vbmeta 数据结构解析
2465 0
|
人工智能 自然语言处理 IDE
通义灵码让AI帮你实现自动化编程
通义灵码是由阿里云与通义实验室联合开发的智能编码辅助工具,具备行级/函数级实时续写、自然语言生成代码、单元测试生成、代码优化、注释生成、代码解释、研发智能问答及异常报错排查等功能。该工具支持200多种编程语言,兼容主流IDE,如Visual Studio Code、Visual Studio和JetBrains IDEs。通义灵码在Gartner发布的AI代码助手魔力象限中表现出色,成为唯一进入挑战者象限的中国科技公司。目前,通义灵码下载量已超过470万,每日辅助生成代码超3000万次,被开发者广泛采用。
1551 1