社区
Linux_Kernel
帖子详情
请问怎么调试驱动,printk()打印的信息在哪儿能看见?
cokeclassic
2007-05-11 08:28:45
请问怎么调试驱动,printk()打印的信息在哪儿能看见?我在超级终端观察printf()打印的信息时,怎么不见驱动中printk()打印信息呢?
驱动的调试是不是需要一个小的应用程序去调用驱动中的函数啊?谢谢
...全文
4412
12
打赏
收藏
请问怎么调试驱动,printk()打印的信息在哪儿能看见?
请问怎么调试驱动,printk()打印的信息在哪儿能看见?我在超级终端观察printf()打印的信息时,怎么不见驱动中printk()打印信息呢? 驱动的调试是不是需要一个小的应用程序去调用驱动中的函数啊?谢谢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
hzcpig
2007-05-19
打赏
举报
回复
前面不是回答了么。
printk不显示在超级终端上,保存在/var/log/messages。
可以在命令行上输入dmesg命令查看,如果只想显示最后几行,可以用
dmesg | tail - 8
cokeclassic
2007-05-19
打赏
举报
回复
想在超级终端看见printk输出的信息,是不是要用GDB来调试啊?如果是,该怎么用?谢谢
cokeclassic
2007-05-19
打赏
举报
回复
joyself(独来读网)
-------------
我在驱动中每个函数体的第一行都写了printk打印信息的
joyself
2007-05-16
打赏
举报
回复
我觉得楼主说的不是很清楚。
1) 启动时的信息未打印?
还是
2)在启动后,调试时候未看到printk打印的信息?
你确定你的驱动程序会打印消息吗?
hzcpig
2007-05-16
打赏
举报
回复
1
驱动的调试是不是需要一个小的应用程序去调用驱动中的函数啊?谢谢
哦,刚才没看清楚你的问题。知道你的意思了。
Linux下程序分为内核态和用户态,我们编写的驱动是内核态的,通过insmod加载.ko模块,再向/dev中注册设备节点后,用户态的程序就可以通过open,read,write,ioctl,release等方法访问,所以按你的意思,需要写一个用户态的可执行文件对设备进行操作,调试设备是否驱动成功。
hzcpig
2007-05-16
打赏
举报
回复
2
printk不显示在超级终端上,保存在/var/log/messages。
可以通过dmesg命令查看,如果只想显示最后几行,可以用
dmesg | tail - 8
驱动一般是软硬件联调
软件方法有:
1. 用打印调试(printk)
2. 使用 /proc 文件系统调试
3. 用strace 命令观察调试
4. 使用kgdb 调试
(软件调试方法可以参考Linux Device Driver 3rd Chapt 04
硬件调试一般是用示波器探测波形。
aero_boy
2007-05-16
打赏
举报
回复
如果你是在X Windows下的XTerm中insmod的,你不会看到输出,使用dmesg就可能看到在加载和卸载模块时的输出内容,只有直接在console下加载才能直接显示到屏幕上。
jacky_emdoor
2007-05-15
打赏
举报
回复
vim /etc/sysconf 查看你的内核的调试信息放倒哪里了
默认是在/var/log/messages
无知者无谓
2007-05-14
打赏
举报
回复
请问如果要象终端打印输出,该怎么做呢?谢谢
===================================
不知道lz看的什么书,我想那上面应该有告诉你,不要在X下调试内核模块的吧?
用真正的终端,而不是虚拟终端!
cokeclassic
2007-05-12
打赏
举报
回复
up
cokeclassic
2007-05-11
打赏
举报
回复
silajoin(带三个表)
---------------
请问如果要象终端打印输出,该怎么做呢?谢谢
silajoin
2007-05-11
打赏
举报
回复
printk()打印的信息一般在/var/log/messages文件里
驱动程序一般通过注册自己的回掉函数供用户程序使用,看一下LDD3(Linux Device driver 3),上面讲的很清楚
Linux
驱动
开发
调试
-- 打开dev_dbg()【转】
本文转载自:https://blog.csdn.net/kunkliu/article/details/78048618 转载地址:http://blog.chinaunix.net/uid-22841689-id-3924244.html 一、
打印
调试
linux设备
驱动
调试
,我们在内核中看到内核使用dev_dbg来控制输出
信息
,这个函数的实质是...
Linux内核
调试
技术指南
前两天,完成了ucos在2440上的移植,以及boot的修改。今天突然想到,我在linux下,该如何来编写,
调试
比较复杂的
驱动
。我想这个问题应该从如何
调试
内核入手,先转载两个文字,待西西看来。 系统搭建过程中,对于系统平台搭建工程师在完成Bootloader 的
调试
之后就进入Kernel 裁减移植的阶段,其中最重要的一步是Kernel 启动的
调试
,在
调试
Kernel过程中通常遇到最常见的问题是启
内核
调试
方法
本文介绍了Linux内核
驱动
程序的多种
调试
方法:1)使用
pr
int
k()输出
调试
信息
;2)通过GDB设置断点进行内核级
调试
;3)利用Kdump捕获和分析崩溃转储;4)使用bpftrace等动态
调试
工具监控内核行为;5)借助QEMU等仿真器
调试
硬件相关
驱动
;6)分析系统日志;7)应用静态代码分析工具;8)测试模块加载/卸载功能。这些方法为
驱动
开发提供了全面的
调试
手段,从简单日志输出到复杂硬件模拟,有效提升了开发效率。
34.Linux-
pr
int
k分析、使用__FILE__, __FUNCTION__, __LINE__
调试
https://www.cnblogs.com/lifexy/p/7993136.html 本节学习目的 1)分析
pr
int
k()函数 2)使用
pr
int
k()
调试
驱动
1.在
驱动
调试
中,使用
pr
int
k(),是最简单,最方便的办法 当uboot的命令行里的“console=tty1”时,表示
pr
int
k()输出在开发板的LCD屏上 当uboot的命令行里的“console=tty...
Hive自定义UDF和UDTF 函数
Hive自定义函数
Linux_Kernel
4,469
社区成员
17,458
社区内容
发帖
与我相关
我的任务
Linux_Kernel
Linux/Unix社区 内核源代码研究区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章