首页 > 其他分享 >内核错误调试技巧记录

内核错误调试技巧记录

时间:2023-04-04 19:01:47浏览次数:33  
标签:console 技巧 loglevel default 内核 printk 调试 define

printk 打印调试

include/linux/printk.h 头文件

extern int console_printk[];

#define console_loglevel (console_printk[0])
#define default_message_loglevel (console_printk[1])
#define minimum_console_loglevel (console_printk[2])
#define default_console_loglevel (console_printk[3])
  1. 在用户空间中修改输出级别
    /proc/sys/kernel/printk
7	4	1	7

这四个值分别表示上述代码中: console_loglevel, default_message_loglevel, minimum_console_loglevel, default_console_loglevel 的值

利用KGDB

  • 如果系统挂掉也是可以在线调试
  • 需要给内核打补丁
  • 然后可以借助工具 gdb和ddd(带界面)远程调试

oops 信息和栈回溯

  • oops 就是内核出错时打印出来的信息
  • 内核出错时, 自动打印出栈调用信息,称之为栈回溯
  • 编译内核时,增加-fno-omit-frame-pointer,可以打印出寄存器等更多的信息,配合反汇编定位问题

内核堆栈API调用

  • 引入头文件 #include <asm/ptrace.h>
  • 然后调用相应的 API函数即可, 接口函数在
    • dump_stack: 打印堆栈, 接口函数在lib/dump_stack.c

标签:console,技巧,loglevel,default,内核,printk,调试,define
From: https://www.cnblogs.com/han-guang-xue/p/17287278.html

相关文章

  • 8个技巧帮助Salesforce从业者升职加薪!(适用Salesforce所有岗位)
    IDC的一项研究预测,未来几年Salesforce生态系统新业务收入将达到1.56万亿美元,新增就业岗位930万个。此外,Salesforce正在推动其合作伙伴生态系统的巨大增长,到2026年,Salesforce每赚1美元,生态系统收益将达到6.19美元。Salesforce生态系统潜力无限,但伴随着全球经济衰退和失业潮,从业人......
  • 使用内网穿透调试微信小程序
    随意购买一个,登陆后台,选择隧道管理下载客户端点击bat批处理文件输入隧道id回车即可进入微信小程序编程工具将这个勾给勾上,然后修改HTTP_REQUEST_URL即可创作不易,如果能够解决您的问题,请给我点个赞,谢谢......
  • centos内核编译配置
    1.下载内核,以下是内核官网地址:https://www.kernel.org/tar.xz  是完整的内核包(完整的内核包是通过两次压缩得到的,一次是xz,一次是tar)pgp   是.tar.sign后缀的文件,用于校验类似于MD5patch  是补丁包2.解压文件到/usr/src/目录下:xz-d文件名.tar.xz  ......
  • windbg调试命令8(bp、bu、bm、bl、bc、ba、be、bd)
    以下以skinhgy为例,windbg附加运行1.bp命令是在某个地址下断点,可以bp0x7783FEB也可以bpMyApp!SomeFunction对于后者,WinDBG会自动找到MyApp!SomeFunction1)当代码修改之后,函数地址改变,该断点仍然保持在相同位置,不一定继续有效; 2)WinDBG不会把bp断点保存工作空间中bp Addre......
  • 搜索引擎搜索技巧
    文本是为了更好的使用搜索引擎而写的。据说没有搜索引擎可以一次抓取到全网16%以上的网页并排名。0x01使用Google找学术资料的化,真的用Google吧,不是信仰上说说的,在很多细节上,完全是百度不可以替代的。很多东西百度根本就搜不到,特别是用英文搜的时候,可能你翻个几十页还不如Google的......
  • Excel 如何计算项目完成时间占全年百分比 - 小技巧
    一、新建“项目记录表”数据表,含有“项目名称”、“开始时间”及“结束时间”等信息,我们现在需要计算出项目所需要的时间占全年的百分比。如图所示二、单击选中“结束时间”右边的单元格并输入“占全年时间的百分比”,然后按住鼠标左键往下拉到表格底部。选中该列,如图所示:三......
  • 【kindle技巧】用Calibre给txt文件生成目录,epub格式制作,电子书格式生成
    problem1、众所周知,电子书有多种格式,十分混乱,如txt,epub,mobi,azw3等等2、txt格式是不支持目录的,有很多看书软件并没有自带生成目录的功能,3、所以,可以用calibre给来生成目录,codes正则表达式如下://*[re:test(.,"^\s*[第卷][0123456789一二三四五六七八九十零〇百千两]*[章回部节集卷......
  • 驱动开发:内核使用IO/DPC定时器
    本章将继续探索驱动开发中的基础部分,定时器在内核中同样很常用,在内核中定时器可以使用两种,即IO定时器,以及DPC定时器,一般来说IO定时器是DDK中提供的一种,该定时器可以为间隔为N秒做定时,但如果要实现毫秒级别间隔,微秒级别间隔,就需要用到DPC定时器,如果是秒级定时其两者基本上无任何差......
  • 驱动开发:内核使用IO/DPC定时器
    本章将继续探索驱动开发中的基础部分,定时器在内核中同样很常用,在内核中定时器可以使用两种,即IO定时器,以及DPC定时器,一般来说IO定时器是DDK中提供的一种,该定时器可以为间隔为N秒做定时,但如果要实现毫秒级别间隔,微秒级别间隔,就需要用到DPC定时器,如果是秒级定时其两者基本上无任何差异......
  • 测试和调试 容器化Node应用
    TestingandDebuggingaContainerizedNodeapplicationIntroductionContainersingeneralandDockerinspecifichavechangedthewayhowwethinkaboutrunninganddeployingsoftwarequiteabit.Runninganapplicationinacontainerinsteadofdirectl......