我想在bluez上启用调试信息。

6

我实际上正在尝试弄清楚当我使用bluez将音乐流传输到我的耳机时,DBG("")打印消息将去往何方。因此,我想知道所有bluez调试消息的打印位置,无论是什么类型的蓝牙操作,例如: 扫描、查询、连接等。

希望有人能帮助我解决这个问题。 提前感谢。


不清楚你指的是哪些 DBG 调用(内核?蓝牙守护进程?蓝牙客户端?)。但通常情况下,内核消息可以使用 dmesg 查看,许多应用程序(包括 bluetoothd)记录到 syslog 中,这是一个文件,通常可以查看为 /var/log/syslog - kaylum
1
蓝牙守护程序日志是我的意思。在许多.c文件的bluez/profiles/audio中有许多DBG("")输出,因此我的假设是,当我执行任何涉及A2DP的操作时,可能会有一个文件记录所有这些DBG("")行,以便我可以知道哪些函数被调用以及哪些.c文件在特定操作期间被使用。因此,我想知道如何启用它们。我尝试了/var/log/syslog,但只有在涉及蓝牙的重大更改时才会有日志。提前致谢。 - Sagar Sm
2个回答

11

目前我这里没有Ubuntu,但是在Fedora上它的工作方式如下,我确信在Ubuntu上非常相似,尤其是systemd部分:

通过在后面添加-d来启用调试。

ExecStart=/usr/libexec/bluetooth/bluetoothd

/usr/lib/systemd/system/bluetooth.service

保存后执行以下操作:

$ systemctl daemon-reload
$ systemctl restart bluetooth

现在您可以在 /var/log/syslog 中获取您的信息。


10

补充datafridge上面的答案,我的Ubuntu 16.04上没有/usr/lib/systemd/system/bluetooth.service文件,但是有BlueZ 5.41。

这个文件在/etc/systemd/system/bluetooth.target.wants/bluetooth.service,需要修改的条目是

ExecStart=/usr/lib/bluez5/bluetooth/bluetoothd –d

可以使用日志查看器来查看日志。

journalctl --unit=bluetooth -f

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接