摘要:
1,GNU Tools点击打开链接各个GNU工具详细解释 阅读全文
摘要:
linux内核调试常见方法1,可能导致kernel panic的原因有:ARM捕捉到的异常 (KE) 指令异常:程序跑飞,可能跑到数据区里执行 访问无效地址:执行存取指令时抛出异常(访问了kernel space没有映射的内存)代码主动发出的异常 (KE) 调用BUG()/BUG_ON()函数软件卡... 阅读全文
摘要:
1,android debuggerd学习android debuggerd进程位于bionic/linker/debugger.c文件,system/core/debugger/目录下。android user thread发生异常的过程,第一步,发生异常的thread被kernel扑捉到,ker... 阅读全文
摘要:
GDB学习点击打开链接比较详细的gdb命令gcc编译的程序要带 -g 参数,要想运行准备调试的程序,可使用run(r)命令,在它后面可以跟随发给该程序的任何参数其它相关备忘如何在gdb下调用shell命令:答:比如要查看当前目录,只要输入 shell pwd就好了单步调试的一些相关命令答:step ... 阅读全文
摘要:
1,谷歌提供的arm-linux-androideabi-addr2line工具学习点击打开链接点击打开链接2,哪些情况会发生Native exception(1)代码主动发生异常,调用abort()函数。描述:abort()函数首先解除进程对SIGABRT信号的阻止,然后向调用进程发送该信号。ab... 阅读全文
摘要:
1,strace学习点击打开链接strace常用来跟踪进程执行时的系统调用和所接收的信号。 在Linux世界,进程不能直接访问硬件设备,通过系统调用访问硬件设备。strace可以跟踪到一个进程产生的系统调用,包括参数,返回值,执行消耗的时间。strace使用参数-p 跟踪指定的进程-f 跟踪由for... 阅读全文
摘要:
1,使用valgrind工具valgrind使用介绍valgrind官网如果要使用图形化的界面,要安装QT,工具名字是valkyrie 通过top命令,/proc/meminfo看总内存,看每个进程使用的内存 在 Linux 平台可以用 ps 命令,来监视内存的使用,比如下面的命令 (观测指定进程的... 阅读全文
摘要:
1,系统默认是不产生coredump文件的,需要用以下命令使系统产生coredump文件查看core文件的限制,此时为0,即不成生core文件ulimit -c0打开core文件的限制,不限制core文件的大小,使程序可以产生core文件ulimit -c unlimitedulimit -cunl... 阅读全文
摘要:
linux内核————队列linux内核——队列定义:[cpp]view plaincopystruct__kfifo{unsignedintin;//入队偏移,写索引unsignedintout;//出队偏移,读索引unsignedintmask;unsignedintesize;void*dat... 阅读全文
摘要:
1,如何禁止当前CPU上的所有中断local_irq_save()和local_irq_restore()函数,[cpp]view plaincopyvoidlocal_irq_save(unsignedlongflags);voidlocal_irq_disable(void);2,目前没有方法禁... 阅读全文