strace
strace是一种调试工具,需要自己下载 打补丁 编译然后生成可执行文件。用可执行文件跟踪app输出到日志。
应用程序调试之使用strace strace -o log.txt rmmod app trace父进程创建app子进程记录日志
strace 原理
在使用时是这样: strace -o log.txt rmmod app
,跟踪某个app
strace本身是父进程,通过上面会创建app子进程,app在进行系统调用时,read write open时会发生swi异常(软中断异常),在异常处理函数中判断是否被跟踪,若被跟踪则休眠等待父进程处理结束再往下执行。(通常父进程记录子进程调用的系统函数等等)
gdb
gdb在pc运行,
gdb-server在ARM 板子上运行,gdb-server是arm app的父进程。
-
设置 host target
-
编译gdb
-
安装 到 tmp
默认安装到pc机,可以改变安装目录,查看vi Makefile
,修改默认安装目录的前缀,prefix
-
编译gdb-server,进入server目录,
头文件在-I
选项里找,还会在编译工具的库里找,如果提示在-I
中找不到,查看系统变量编译工具库在哪里echo $PATH
,然后进入编译工具所在的库,查找找不到的东西grep ”XXX“ * -nR
,根据结果修改头文件就ok了。