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系统调用的原理 操作系统为在用户态运行的进程与硬件设备进行交 ...
随机推荐
- 自学Zabbix3.10.2-事件通知Notifications upon events-Actions报警配置
点击返回:自学Zabbix之路 点击返回:自学Zabbix4.0之路 点击返回:自学zabbix集锦 自学Zabbix3.10.2-事件通知Notifications upon events-Acti ...
- 【BZOJ1998】[HNOI2010]物品调度(并查集,模拟)
[BZOJ1998][HNOI2010]物品调度(并查集,模拟) 题面 BZOJ,为啥这题都是权限题啊? 洛谷 题解 先不管\(0\)位置是个空,把它也看成一个箱子.那么最终的答案显然和置换循环节的个 ...
- HDU 1024 Max Sum Plus Plus (动态规划)
HDU 1024 Max Sum Plus Plus (动态规划) Description Now I think you have got an AC in Ignatius.L's "M ...
- HDU 4292 Food (网络流,最大流)
HDU 4292 Food (网络流,最大流) Description You, a part-time dining service worker in your college's dining ...
- dedecms获取顶级栏目名称、二级栏目名称实现方法 转
织梦DEDECMS文章.栏目页获取当前页面顶级栏目名称的方法 在用织梦做一些项目时,时常会碰到需要在当前页面调用顶级栏目名称的时候,织梦默认{dede:field name='typename' /} ...
- ELK技术实战-安装Elk 5.x平台
ELK技术实战–了解Elk各组件 转载 http://www.ywnds.com/?p=9776 ELK技术实战-部署Elk 2.x平台 ELK Stack是软件集合Elasticsearch. ...
- Hadoop集群-HDFS集群中大数据运维常用的命令总结
Hadoop集群-HDFS集群中大数据运维常用的命令总结 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客会简单涉及到滚动编辑,融合镜像文件,目录的空间配额等运维操作简介.话 ...
- Nginx负载均衡中后端节点服务器健康检查的一种简单方式
摘自:https://cloud.tencent.com/developer/article/1027287 一.利用nginx自带模块ngx_http_proxy_module和ngx_http_u ...
- 已以用户 NT AUTHORITY\SYSTEM 的身份执行。 对象 名称 'XXX' 包含的前缀超出了最大限值。最多只能有 2 个。
我写了一个存储过程,里面用到了链接服务器,需要把这台电脑上的数据传送到连接服务器上去 insert [链接服务器].[数据库].[dbo].[表名] 我的数据 这样的格式是完全没问题的,问题出在于我t ...
- python---redis的python使用
set以及相关: r.set("foo","bar") print(r.get("foo"))#b'bar' #在Redis中设置值,默认, ...