linux驱动调试--oops信息

在移植dm9000 时被一个错误困扰了很久,当时手里只有printk调试手段,觉得自己应该升级下了,先学习了根据oops信息来调试。

先构造一个错误,insmod后抛出如下信息
这里写图片描述

我们着重看这几句

PC is at memcpy+0x8c/0x29c c0148080
pc : [] lr : [<74736574>] psr: 00000013

回溯信息
Backtrace:
[] (hello_init+0x0/0x38 [dbug]) from []

看到这些信息大概可以知道问题所在了,我们接着把文件objdump一下
执行 arm-linux-objdump -D dbug.ko > dbug.inf

这里写图片描述

根据oops信息,PC is at memcpy+0x8c/0x29c c0148080 是在memcpy函数出错,在回溯信息里[] (hello_init+0x0/0x38 [dbug]) from [] 在hello_init 的0x38偏移处调用的发生错误的函数。

问题到这里就差不多了,后面会陆续跟几种调试手段。随便附上这次的测试代码

#include <linux/init.h>
#include <linux/module.h>
MODULE_LICENSE("Dual BSD/GPL");static int hello_init(void)
{char *p = NULL;memcpy(p, "test", 4);printk(KERN_ALERT "Hello, world\n");return 0;
}
static void hello_exit(void)
{printk(KERN_ALERT "Goodbye, cruel world\n");
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/265936.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

浏览器输入网址后发生了什么?

摘自&#xff1a;这是最全的一篇&#xff01;&#xff01;&#xff01;浏览器输入网址后发什么了什么&#xff1f; 作者&#xff1a;程序员cxuan 发布时间&#xff1a; 2021-04-15 11:59:07 网址&#xff1a;https://blog.csdn.net/qq_36894974/article/details/115720479 到现…

python默认参数只被解释一次_深入讲解Python函数中参数的使用及默认参数的陷阱...

C里函数可以设置缺省参数&#xff0c;Java不可以&#xff0c;只能通过重载的方式来实现&#xff0c;python里也可以设置默认参数,最大的好处就是降低函数难度&#xff0c;函数的定义只有一个&#xff0c;并且python是动态语言&#xff0c;在同一名称空间里不能有想多名称的函数…

fancybox去除不受待见的水平滚动条

用fancybox在嵌套某个页面时&#xff0c;有时莫名其妙的会出现的消除不掉的幽灵般水平滚动条&#xff0c;如何去除&#xff1a; github上的解决方案&#xff1a;https://github.com/fancyapps/fancyBox/issues/24 转载于:https://www.cnblogs.com/kinpauln/p/3145796.html

Word Count作业

Word Count作业 一.个人Gitee地址&#xff1a;https://gitee.com/Changyu-Guo 二.项目简介 该项目主要是模拟Linux上面的wc命令&#xff0c;基本要求如下&#xff1a; 命令格式&#xff1a; wc.exe [para] <filename> [para] <filename> ... -o <filename> 功…

iDempiere = OSGi + ADempiere 一款ERPCRMSCM系统、助力中小企业发展

怀揣着为中小企业量身定做一整套开源软件解决方案的梦想开始了一个网站的搭建。http://osssme.org/ iDempiere OSGi ADempiere 一款ERP&CRM&SCM系统、助力中小企业发展 一句话概括iDempiere是一款基于Compiere/ADempiere的​开源企业级ERP&CRM&SCM系统​&…

字符串 hash 唯一数字_【数字课堂】酒妹带你了解“身份认证技术”

身份认证技术是在计算机网络中确认操作者身份的过程而产生的有效解决方法。计算机网络世界中一切信息包括用户的身份信息都是用一组特定的数据来表示的&#xff0c;计算机只能识别用户的数字身份&#xff0c;所有对用户的授权也是针对用户数字身份的授权。如何保证以数字身份进…

内核启动流程—走马观花

汇编阶段&#xff1a; ensure svc mode and irqs disabled 76确保cpu运行与svc模式&#xff0c;中断关闭 get processor id 78获取cpu id r5procinfo r9cpuid invalid processor (r50)? 79 和__proc_info lists 里比较&#xff0c;不能找到id就 r5 0 bl __vet_atags…

空气中超声衰减

空气中超声衰减是非常厉害的&#xff0c;这导致在空气耦合声换能器的制作或是声传感器的设计是极具挑战的&#xff0c;因此对超声衰减做一个细致的分析是很有必要的。 具体计算根据经验公式如下进行计算 结果如下&#xff1a; Figure 1 超声衰减系数与频率关系图 Figure 2 超声…

嵌入式linux系统和嵌入式android系统的区别和联系

目录区别与联系嵌入式系统在物联网行业中的应用物联网嵌入式系统的特征区别与联系 这个问题很多人问&#xff0c;尤其是初入嵌入式的菜鸟。其实大家都认为android是java&#xff0c;已经不是linux&#xff0c;殊不知android就是靠着linux 才发展起来的&#xff0c;现在来说说有…

java生产者消费者问题代码分析

作者要的是一个生产者生成&#xff0c;接着必须有一个消费者消费&#xff0c;那这不是需要单线程吗&#xff1f;或者使用1个大小的阻塞队列。所以只谈论问题本身&#xff0c;不谈论好不好。 具体代码&#xff1a; Java代码 import java.util.concurrent.locks.Condition; i…

vb冒泡排序法流程图_VB算法-冒泡排序教案

1冒泡排序教学设计班级&#xff1a;高一一班授课教师&#xff1a;袁海军一、教案背景模块&#xff1a;算法与程序设计班级&#xff1a;高一(1)班课时数&#xff1a;1课时所用教材&#xff1a;华师大版《算法与程序设计》教师&#xff1a;袁海军二、教学设计1.教学目标知识与技能…

linux板级初始化

最近拿到了明远智睿 的EK314开发板&#xff0c;以前主要用2440&#xff0c;眼界过于狭隘&#xff0c;借此机会练习下。 http://lornyin.top/?p106 原文地址 首先看看它的板级文件 /arch/arm/mach-mx6/board-myimx6ek314.c 在他的末尾指定了map_io、init_irq、init_machine…

可以ping通 但ssh: connect to host 192.168.0.2 port 22: Connection refused

目录问题描述原因解决问题描述 自己在树莓派端通过SCP指令给电脑上ubuntu传输文件发现提示&#xff1a;ssh: connect to host 192.168.0.2 port 22: Connection refused&#xff0c;并且发现树莓派端是可以ping通ubuntu的。 原因 通过网上查新找到原因&#xff1a; SSH分客…

动态规划初步--数字三角形

数字三角形是一个由非负数组成的三角形&#xff0c;第n行有n个数&#xff0c;形如&#xff1a; 1 2 3 4 5 6 除最下行之外&#xff0c;每一行的左下和右下各有一个数&#xff0c;从第一行开始&#xff0c;向下&#xff0c;左或者右走一格&#xff0c;直到走到最后一行&#…

光影精灵5完全拆解全程图解_惠普光影精灵5值得买吗?惠普光影精灵5绿刃版游戏本深度拆解评测...

三星8GB DDR4 2666MHz内存还有一个小配件&#xff0c;虽然小&#xff0c;但绝对是最常用的&#xff0c;这就是无线模块。这款笔记本搭载的是Intel 9560NGW无线网卡&#xff0c;支持2.4GHz / 5GHz双频&#xff0c;最大传输速度可达1.73Gbps&#xff0c;并且集成蓝牙5.0版本&…

linux嵌入式贪吃蛇

目标&#xff1a;用游戏手柄控制贪吃蛇 硬件平台&#xff1a;imax6q 版本信息&#xff1a; arm-none-linux-gnueabi-gcc-4.8.3、 qt5.7.1、linux3.0.1 一、交叉编译tslib1.4 由于 imax6q是 armv7-a 构架&#xff0c;所以以后的编译我们都应编译出 armv7 平台的文件 编译参…

2.联邦模式配置---扩容,负载均衡

原理图 两个集群---目的&#xff1a;扩容 HA联邦模式解决了单纯HA模式的性能瓶颈&#xff08;主要指Namenode、ResourceManager&#xff09;&#xff0c;将整个HA集群划分为两个以上的集群&#xff0c;不同的集群之间通过Federation进行连接&#xff0c;使得HA集群拥有了横向扩…

树莓派交叉编译(PS交叉编译链下载安装、配置永久环境变量、带WiringPi库交叉编译、软链接)

目录一、本章概述二、交叉编译工具链的下载安装下载安装交叉编译链临时有效交叉编译链永久有效三、交叉编译的使用对比gcc与armgccPC端交叉编译发送到树莓派运行四、带WiringPi库的交叉编译如何处理复制树莓派上的WiringPi库到主机软硬链接交叉编译一、本章概述 下面将详细介绍…

海量数据处理分析(部分)

2019独角兽企业重金招聘Python工程师标准>>> 1. 海量数据处理分析 原文地址&#xff1a; http://blog.csdn.net/DaiZiLiang/archive/2006/12/06/1432193.aspx 笔者在实际工作中&#xff0c;有幸接触到海量的数据处理问题&#xff0c;对其进行处理是一项艰巨而复…

android p wifi一直在扫描_在Android上的每次WiFi扫描之间我应该使用什么时间间隔?...

我需要定期执行Wifi扫描.当时间间隔设置为1-2秒时,我遇到了问题.好像我没有得到任何ScanResult.是否有最短的时间设置,以便WifiManager能够执行成功的WiFi扫描&#xff1f;这是代码.我正在使用服务进行Wifi扫描&#xff1a;public class WifiScanning extends Service{private …