随笔分类 - 调试技巧
摘要:如果要调试标准库,最好安装 ``` sudo apt-get install libstdc++6-8-dbg ```
阅读全文
摘要:title: visualgdb 调试arm date: 2019/11/19 10:06:57 toc: true visualgdb 调试arm [TOC] 没有ssh的开发板使用telnet https://visualgdb.com/tutorials/custom/transports/
阅读全文
摘要:title: 应用调试(六)记录回放输入子系统 date: 2019/1/20 23:00:39 toc: true 应用调试(六)记录回放输入子系统 [TOC] 思路及目标 目标: 记录我们的测试过程并复现这个流程 思路: 1. 在输入子系统上报的时候,同时记录相关的操作到一个文件 2. 调用这个
阅读全文
摘要:title: 应用调试(五)侵入式SWI date: 2019/01/19 21:27:31 toc: true 应用调试(五)侵入式SWI [TOC] 场景应用 1. 反汇编源程序,查看汇编代码,然后直接修改二进制的bin文件,替换其中一条A指令为B指令,B指令是swi跳转指令 2. 构造一个 跳
阅读全文
摘要:title: 应用调试(四)系统调用SWI date: 2019/01/19 18:05:39 toc: true 应用调试(四)系统调用SWI [TOC] 系统调用 我们App中的 等实际上会触发 异常,触发系统调用 等,内核根据swi的值来执行具体的操作 SWI代码片段分析 搜索下 ,找到入口函
阅读全文
摘要:title: 应用调试(三)oops date: 2019/01/19 12:06:58 toc: true 应用调试(三)oops [TOC] 引入 在驱动程序调试中,发生段错误后内核打印出oops信息,包括pc值,寄存器值和栈信息 但是我们再应用程序故意引入一个错误(在地址0的地方写数据),只是
阅读全文
摘要:title: 应用调试(二)GDBdate: 2019/1/17 21:00:10 toc: true 应用调试(二)GDB gdb下载工具安装交叉工具链设置GDB介绍编译GDBtarget/host/build编译主机GDB编译单板GDBserver调试程序CoreDumpGDB命令杂项附录源码
阅读全文
摘要:title: 应用调试(一)strace date: 2019/1/15 23:35:14 toc: true [TOC] 编译 shell tar xjf strace 4.5.15.tar.bz2 cd strace 4.5.15/ patch p1 https://gitee.com/layt
阅读全文
摘要:title: 16 驱动调试(六)利用中断打印 date: 2019/1/15 23:35:14 toc: true 原理 这一章节也没啥新知识,原理就是利用系统时钟的中断,去打印一些信息. 在进入中断之前,会保存现场,包括 ,可以打印这个 就能看到,定时器中断是普通中断,保存现场的时候已经将返回地
阅读全文
摘要:title: 驱动调试(五)寄存器读写 date: 2019/1/14 22:30:32 toc: true 驱动调试(五)寄存器读写 这个章节没什么新知识,就是先写一个能够读写寄存器的驱动,再写一个app调用提供的读写接口 bug 这里应该有个问题,就是当传入的地址不是4字节对齐的时候,读取u32
阅读全文
摘要:title: 驱动调试(四)oops确定调用树 date: 2019/1/14 19:30:32 toc: true 驱动调试(四)oops确定调用树 [TOC] 内核开启调用树 如果内核开启调用信息的打印 为什么这个选项叫做 ,因为实际上使用了ARM中的 寄存器,在A函数调用B函数时,B在开头保存
阅读全文
摘要:title: 驱动调试(三)oops确定函数PC date: 2019/1/14 17:30:32 toc: true 驱动调试(三)oops确定函数PC [TOC] 什么是oops 是 Linux 内核的一部分出现了偏差行为,你有做错了什么吗?可能没有。它实际上就是“哎呀” (oops),就像你刚
阅读全文
摘要:title: 驱动调试(二) 环形缓冲区到文件 date: 2019/1/10 22:57:04 toc: true 驱动调试(二) 环形缓冲区到文件 [TOC] 目标 是将信息先保存到 ,然后通过打印级别来选择是否输出. 将 存储在 中,该文件是包含了``打印级别的 使用 去获取这个文件是读后清的
阅读全文
摘要:title: 驱动调试(一) printk date: 2019/1/9 19:35:14 toc: true 驱动调试(一) printk [TOC] 引入 uboot的启动参数中定义了我们内核启动时的信息输出 如果去除 ,则内核复制后没有信息输出,可以看下lcd,已经有显示了 也可以设置为 ,直
阅读全文