CONFIG_DEBUG_USER【转】
转自:https://blog.csdn.net/adaptiver/article/details/12778621
关于CONFIG_DEBUG_USER
把menuconfig中查到的 CONFIG_DEBUG_USER 信息copy在下面:
| CONFIG_DEBUG_USER:
|
| When a user program crashes due to an exception, the kernel can
| print a brief message explaining what the problem was. This is
| sometimes helpful for debugging but serves no purpose on a
| production system. Most people should say N here.
|
| In addition, you need to pass user_debug=N on the kernel command
| line to enable this feature. N consists of the sum of:
|
| 1 - undefined instruction events
| 2 - system calls
| 4 - invalid data aborts
| 8 - SIGSEGV faults
| 16 - SIGBUS faults
|
| Symbol: DEBUG_USER [=n]
| Type : boolean
| Prompt: Verbose user fault messages
| Defined at arch/arm/Kconfig.debug:49
| Location:
| -> Kernel hacking
要试用该功能:
首先在config文件中添加该选项,然后在 kernel 的cmdline中添加 user_debug=1 或者 user_debug=31
类似:
console=ttyS2 quiet user_debug=31
setenv bootargs console=ttySAC0,115200 user_debug=1 saveenv
user_debug的值可根据情况选定,下面这几个宏与上面的粗体部分可对照一下,可得知各个bit使能之后能得到的信息。
#define UDBG_UNDEFINED (1 << 0)
#define UDBG_SYSCALL (1 << 1)
#define UDBG_BADABORT (1 << 2)
#define UDBG_SEGV (1 << 3)
#define UDBG_BUS (1 << 4)
有一篇文章就这一点而言有参考意义:
CONFIG_DEBUG_USER【转】的更多相关文章
- Arm Linux系统调用流程详细解析
Linux系统通过向内核发出系统调用(system call)实现了用户态进程和硬件设备之间的大部分接口. 系统调用是操作系统提供的服务,用户程序通过各种系统调用,来引用内核提供的各种服务,系统调用的 ...
- ARM应用调试思路、方法总结、笔记
一.应用调试1:使用strace命令来跟踪系统调用 二.应用调试2:使用GDB来调试应用程序 编译gdb,gdbservertar xjf gdb-7.4.tar.bz2cd gdb-7.4/./co ...
- 41.Linux应用调试-修改内核来打印用户态的oops
1.在之前第36章里,我们学习了通过驱动的oops定位错误代码行 第36章的oops代码如下所示: Unable to handle kernel paging request at //无法处理内核 ...
- 应用调试(三)oops
目录 应用调试(三)oops 引入 配置内核打开用户oops CONFIG_DEBUG_USER user_debug 设置启动参数测试 打印用户堆栈 分析栈 main的调用 title: 应用调试( ...
- linux c段错误分析方法
from:http://blog.csdn.net/adaptiver/article/details/37656507 一. 段错误原因分析 1 使用非法的指针,包括使用未经初始化及已经释放的指针( ...
- ARM Linux系统调用的原理
转载自:http://blog.csdn.net/hongjiujing/article/details/6831192 ARM Linux系统调用的原理 操作系统为在用户态运行的进程与硬件设备进行交 ...
随机推荐
- 【BZOJ2281】[SDOI2011]黑白棋(博弈论,动态规划)
[BZOJ2281][SDOI2011]黑白棋(博弈论,动态规划) 题面 BZOJ 洛谷 题解 先看懂这题目在干什么. 首先BZOJ上面的题面没有图,换到洛谷看题就有图了. 不难发现都相邻的两个异色棋 ...
- SharePoint 2013 Central Admin 不能打开
当我准备打开CA时发现下面的错误: This operation can be performed only on a computer that is joined to a server farm ...
- [SHOI2013]发牌 解题报告
[SHOI2013]发牌 题意 对一个\(1\sim n(n\le 7\times 10^5)\)的环,指标最开始在\(1\),每次删去顺时针往后第\(d_i\)个元素,指标移到下一个位置.要求输出每 ...
- 分别用postman和python做post请求接口功能测试
前几天,在做一个post请求的接口功能测试的时候,发现数据始终无法入库, 认真加仔细检查了请求的url.方式.参数,均没有问题 找到技术确认,原来是需要传json格式数据 在头信息中加上类型,body ...
- java 反射 子类泛型的class
很早之前写过利用泛型和反射机制抽象DAO ,对其中获取子类泛型的class一直不是很理解.关键的地方是HibernateBaseDao的构造方法中的 Type genType = getClass() ...
- css 实现背景图片不跟着滚动条滚动而滚动
效果: 只需要在需要背景不跟着动的div里: div{ background:url(); background-attachment:fixed; } 加上background-attachment ...
- sklearn多分类问题
sklearn实战-乳腺癌细胞数据挖掘(博主亲自录制视频) https://study.163.com/course/introduction.htm?courseId=1005269003& ...
- 整理备忘一波liunx命令(持续更新)
# 分区挂载 查看当前目录下的文件大小 du --max-depth= -h # 文件操作 # 编辑操作 #liunx 字体设置 苹果方字体下载安装 # 网洛端口 netstat命令各个参数说明如下: ...
- ruby where用法
用法1 Subject.where(").order("name") 用法2 与find方法不同的是,where方法返回的结果不是数组而是ActiveRelation,这 ...
- Jmeter调用 Json接口测试之关键点申明Content-Type类型
背景: 最近,在做接口测试发现创建运单接口,通过普通表单请求总是失败,开始我以为是后端接口出现问题,但通过前端页面都能创建运单,F12打开浏览器开发者模式,获取该接口请求入参发现,请求的数据格式是js ...