【用途】 Linux内核动态调试特性,适用于驱动和内核各子系统调试。动态调试的主要功能就是允许你动态的打开或者关闭内核代码中的各种提示信息。适用于驱动和内核线程功能调试。 【使用方法】 依赖于CONFIG_DYNAMIC_DEBUG内核配置选项,一旦设置好,那么所有pr_debug()/dev_de ...
分类:
系统相关 时间:
2016-04-23 14:48:54
阅读次数:
239
dumpsys 【用途】Android系统提供的dumpsys工具可以用来查看系统服务信息与状态。 【使用说明】 adb shell dumpsys <service> [<option>] 【常用服务解释】 编号 服务名称 功能 1 account 显示accounts信息 2 activity ...
分类:
系统相关 时间:
2016-04-23 14:45:54
阅读次数:
397
本文介绍的内核调试宏属于静态调试方法,通过调试宏主动触发oops从而打印出函数调用栈信息。 1) BUG_ON 查看bug处堆栈内容,主动制造oops Linux中BUG_ON,WARN_ON用于调试,比如 #define BUG_ON(condition) do { / if (unlikely( ...
分类:
系统相关 时间:
2016-04-23 14:42:46
阅读次数:
205
内核态call trace 内核态有三种出错情况,分别是bug, oops和panic。 bug属于轻微错误,比如在spin_lock期间调用了sleep,导致潜在的死锁问题,等等。 oops代表某一用户进程出现错误,需要杀死用户进程。这时如果用户进程占用了某些信号锁,这些信号锁将永远不会得到释放, ...
分类:
系统相关 时间:
2016-04-23 14:41:10
阅读次数:
387
1、基本原理 (1)在UBOOT里设置console=ttySAC0或者console=tty1 这里是设置控制终端,tySAC0 表示串口, tty1 表示lcd(2)内核用printk打印 内核就会根据命令行参数来找到对应的硬件操作函数,并将信息通过对应的硬件终端打印出来! 2、printk的使 ...
分类:
其他好文 时间:
2016-04-20 20:08:08
阅读次数:
150
首先我们需要弄清楚proc机制,来看看fs/proc/proc_misc.c这个文件,从入口函数开始看: proc_misc_init(void) #ifdef CONFIG_PRINTK { struct proc_dir_entry *entry; entry = create_proc_ent ...
分类:
其他好文 时间:
2016-04-20 19:57:08
阅读次数:
217
上一节的程序很振奋人心,我们自己实现了一个myprintk打印函数。但是这个函数存在一个致命的缺陷,那就是只能使用一次cat /proc/mymsg命令来读取mylog_buf的值。这是因为读到最后会出现:mylog_r == mylog_w,表示缓冲区为空,下一次就不能在读到数据了。在本节里面我们 ...
分类:
其他好文 时间:
2016-04-20 19:48:37
阅读次数:
149
控制台(Console)是Firebug的第一个面板,也是最重要的面板,主要作用是显示网页加载过程中产生各类信息。 一、显示信息的命令 Firebug内置一个console对象,提供5种方法,用来显示信息。 最简单的方法是console.log(),可以用来取代alert()或document.wr ...
分类:
编程语言 时间:
2016-04-17 15:54:53
阅读次数:
199
编辑导语:javascript调试方法,常见使用alert和console来定位出错和输出的结果是否是想要的,在chrome中,还可以使用断点来看运行的情况等,本文介绍了比较全面的调试方法,你知道console.table,console.log('%c前端开发博客','font-size:40px ...
分类:
编程语言 时间:
2016-04-17 15:54:41
阅读次数:
252
1、已经做好的dll不能设置;你可以用AfxMessageBox把信息打印出来。2、哪个地方调用的函数 把DLL重新编译一次 在把DLL放到工程里 从新添加一下 然后在你工程调用DLL内容的地方设置断点 然后按F11 就进去了。3、在你要调试的dll函数哪里加上硬断点:__asm{ int 3}然后 ...
分类:
其他好文 时间:
2016-04-05 19:39:47
阅读次数:
143