首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >v4l2内核空间调试

v4l2内核空间调试
EN

Stack Overflow用户
提问于 2014-06-20 15:24:10
回答 2查看 6.1K关注 1票数 3

是否有任何默认机制来启用调试v4l2驱动程序。基本上,我想通过设置/d来检查动态调试,在make中设置编译时标志也可以。

目前,我已经设置如下,但没有得到多少信息。

代码语言:javascript
复制
echo -n 0xFFFF>/sys/module/videobuf2_core/parameters/debug

有人能帮我弄到详细的v4l2日志吗?

EN

回答 2

Stack Overflow用户

发布于 2014-06-22 10:21:02

查看代码:例如,文件drivers/media/v4l2-core/v4l2-ioctl.c可能是比较有趣的文件之一,因为它向您展示了一些用户/内核空间的交互。

在这个文件中,您可以看到很多pr_contpr_info等。虽然printk总是打印出来的,但其他的只有在启用的情况下才能执行。有关这方面的所有细节都可以在http://lwn.net/Articles/487437/上找到。

讨厌的方法是用printk替换一些pr_cont或pr_info。您甚至可以使用#define来完成此操作。如果您只想启用其中的3或4个,甚至添加您自己的特殊方法,这可能是最快的方法。

最好的方法就是看看这个系统是如何被使用的。如果您可以启用动态调试,您可以尝试,就像这里很好地描述了https://lwn.net/Articles/434833/

最后,最简单的方法可能是查看内核配置。也许您已经知道源目录中的命令make menuconfig。您可以编辑所有不同的设置,就像vi中一样,您可以使用/进行搜索。在特定模块的旁边,通常还可以启用或禁用调试选项。如果这还不够,您可以始终更改.config文件中内核的全局调试级别。

您可能感兴趣的一个特定标志是

代码语言:javascript
复制
CONFIG_VIDEO_ADV_DEBUG
Say Y here to enable advanced debugging functionality on some
V4L devices.
In doubt, say N.

Symbol: VIDEO_ADV_DEBUG [=y]
Prompt: Enable advanced debug functionality on V4L2 drivers
  Location:
    -> Device Drivers
      -> Multimedia support (MEDIA_SUPPORT [=y]) 
  Defined at drivers/media/v4l2-core/Kconfig:11
  Depends on: MEDIA_SUPPORT [=y]

祝好运

票数 2
EN

Stack Overflow用户

发布于 2020-10-15 10:47:38

请参阅正式文档这里

为/sys/class/ video 4linux//中的每个视频、vbi、无线电或swradio设备创建的“dev_debug”属性允许您启用文件操作的日志记录。

我在真实的配置上测试了这一点,它工作正常(它会打印所有信息!),请参见下面的命令:

代码语言:javascript
复制
echo 0x1f > /sys/class/video4linux/video1/dev_debug 
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24330671

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档