添加增强调试器以查看基于 Smack android 的 XMPP 客户端的数据包级别信息
Posted
技术标签:
【中文标题】添加增强调试器以查看基于 Smack android 的 XMPP 客户端的数据包级别信息【英文标题】:Adding Enhanced Debugger to view packet level information for Smack android based XMPP client 【发布时间】:2016-01-11 10:27:12 【问题描述】:我指的是 https://www.igniterealtime.org/builds/smack/docs/4.1.0/documentation/debugging.html 在我的 android studio 中集成调试器控制台并添加了 SmackConfiguration.DEBUG = true;但仍然看不到任何调试窗口。 请帮帮我。
已编辑 [2018 年 2 月 8 日]:
根据smack调试文档(https://github.com/igniterealtime/Smack/blob/master/documentation/debugging.md)
我们可以在 logcat 或系统控制台中显示所有数据包级别信息。
对于控制台日志:
System.setProperty("smack.debuggerClass", "org.jivesoftware.smack.debugger.ConsoleDebugger")
System.setProperty("smack.debugEnabled", "true")
对于 Android Logcat:
SmackConfiguration.DEBUG = true
但是,根据文档,它提供了 GUI 调试器,即 Lite Debugger 和 Enhanced Debugger
查看多个无组织的 XMPP 日志根本不可读。但是,通过 GUI 调试器(如增强型调试器)读取会很方便。
我正在使用 Ubuntu (Linux OS) 和 Android Studio 进行开发。
我们如何添加 GUI 调试器来调试构建 android 客户端?
【问题讨论】:
我也在尝试这样做。你在哪里能弄明白? @user2660386 没有单独的窗口,但我可以看到详细的日志。 您是如何访问日志的?你在日志中输入了什么来搜索 smack 调试? @user2660386 如果你的代码中有 SmackConfiguration.DEBUG = true ,那么你可以在 logcat 中看到 smack 相关的日志 Checkout this answer 这解决了我的调试问题 【参考方案1】:像这样设置系统属性:
System.setProperty("smack.debuggerClass","org.jivesoftware.smack.debugger.ConsoleDebugger");
System.setProperty("smack.debugEnabled", "true");
SmackConfiguration.DEBUG = true;
【讨论】:
是的,这行得通。它会将 logcat 中的所有 smack 流量打印为 system.out以上是关于添加增强调试器以查看基于 Smack android 的 XMPP 客户端的数据包级别信息的主要内容,如果未能解决你的问题,请参考以下文章