【Bluetooth蓝牙开发】八、BLE协议之ATT
Jan 19, 2024
本文阅读量次我的圈子: 高级工程师聚集地 创作理念:专注分享高质量嵌入式文章,让大家读有所得! 亲爱的读者,你好: 感谢你对我的专栏的关注和支持,我很高兴能和你分享我的知识和经验。如果你喜欢我的内容,想要阅读更多的精彩技术文章,可以扫码加入我的社群。 欢迎关注【嵌入式艺术】,董哥原创!
我的圈子: 高级工程师聚集地 创作理念:专注分享高质量嵌入式文章,让大家读有所得! 亲爱的读者,你好: 感谢你对我的专栏的关注和支持,我很高兴能和你分享我的知识和经验。如果你喜欢我的内容,想要阅读更多的精彩技术文章,可以扫码加入我的社群。 欢迎关注【嵌入式艺术】,董哥原创!
我的圈子: 高级工程师聚集地 创作理念:专注分享高质量嵌入式文章,让大家读有所得! 亲爱的读者,你好: 感谢你对我的专栏的关注和支持,我很高兴能和你分享我的知识和经验。如果你喜欢我的内容,想要阅读更多的精彩技术文章,可以扫码加入我的社群。 欢迎关注【嵌入式艺术】,董哥原创!
我的圈子: 高级工程师聚集地 创作理念:专注分享高质量嵌入式文章,让大家读有所得! 亲爱的读者,你好: 感谢你对我的专栏的关注和支持,我很高兴能和你分享我的知识和经验。如果你喜欢我的内容,想要阅读更多的精彩技术文章,可以扫码加入我的社群。 欢迎关注【嵌入式艺术】,董哥原创!
我的圈子: 高级工程师聚集地 创作理念:专注分享高质量嵌入式文章,让大家读有所得! 亲爱的读者,你好: 感谢你对我的专栏的关注和支持,我很高兴能和你分享我的知识和经验。如果你喜欢我的内容,想要阅读更多的精彩技术文章,可以扫码加入我的社群。 欢迎关注【嵌入式艺术】,董哥原创!
我的圈子: 高级工程师聚集地 创作理念:专注分享高质量嵌入式文章,让大家读有所得! 亲爱的读者,你好: 感谢你对我的专栏的关注和支持,我很高兴能和你分享我的知识和经验。如果你喜欢我的内容,想要阅读更多的精彩技术文章,可以扫码加入我的社群。 欢迎关注【嵌入式艺术】,董哥原创!
我的圈子: 高级工程师聚集地 创作理念:专注分享高质量嵌入式文章,让大家读有所得! 亲爱的读者,你好: 感谢你对我的专栏的关注和支持,我很高兴能和你分享我的知识和经验。如果你喜欢我的内容,想要阅读更多的精彩技术文章,可以扫码加入我的社群。 欢迎关注【嵌入式艺术】,董哥原创!
我的圈子: 高级工程师聚集地 创作理念:专注分享高质量嵌入式文章,让大家读有所得! 亲爱的读者,你好: 感谢你对我的专栏的关注和支持,我很高兴能和你分享我的知识和经验。如果你喜欢我的内容,想要阅读更多的精彩技术文章,可以扫码加入我的社群。 欢迎关注【嵌入式艺术】,董哥原创!
我的圈子: 高级工程师聚集地 创作理念:专注分享高质量嵌入式文章,让大家读有所得! 亲爱的读者,你好: 感谢你对我的专栏的关注和支持,我很高兴能和你分享我的知识和经验。如果你喜欢我的内容,想要阅读更多的精彩技术文章,可以扫码加入我的社群。 欢迎关注【嵌入式艺术】,董哥原创!
我的圈子: 高级工程师聚集地 创作理念:专注分享高质量嵌入式文章,让大家读有所得! 亲爱的读者,你好: 感谢你对我的专栏的关注和支持,我很高兴能和你分享我的知识和经验。如果你喜欢我的内容,想要阅读更多的精彩技术文章,可以扫码加入我的社群。 欢迎关注【嵌入式艺术】,董哥原创!
【一文秒懂】Linux内核态内存泄露检测工具 # 1、Kmemleak介绍 # 在Linux内核开发中,Kmemleak是一种用于检测内核中内存泄漏的工具。 内存泄漏指的是程序中已经不再使用的内存没有被妥善地释放,导致内存的浪费。内核中的内存泄漏同样会导致系统性能下降、系统崩溃等问题。 Kmemleak能够检测内核中的内存泄漏,通过检测内核中未被释放但又无法找到其使用位置的内存,进一步定位、修复内存泄漏的问题。 在用户空间,我们常用Valgrind来检测; 在内核空间,我们常用Kmemleak来检测。 2、如何使用Kmemleak # 2.1 内核配置 # 内核打开相应配置: CONFIG_DEBUG_KMEMLEAK:Kmemleak被加入到内核 CONFIG_DEBUG_KMEMLEAK_EARLY_LOG_SIZE设置为16000:该参数为记录内存泄露信息的内存池,越大记录信息越多。 CONFIG_DEBUG_KMEMLEAK_DEFAULT_OFF :Kmemleak默认开关状态 依赖的配置: CONFIG_DEBUG_KERNEL:打开内核调试功能 CONFIG_DEBUG_FS:需要借助到debugfs CONFIG_STACKTRACE:记录进程的堆栈信息 2.2 用户空间配置 # 我们要想使用Kmemleak,需要挂在debugfs,来查看泄露的情况。 进入文件系统后,进行挂载: mount -t debugfs nodev /sys/kernel/debug/ # 挂在debugfs 设置扫描时间: echo scan=10 > /sys/kernel/debug/kmemleak # 10S扫描一次 默认内存泄露检测时间为10min,上面设置为10s一次 查看泄露情况: cat /sys/kernel/debug/kmemleak # 查看内存泄露情况 其他指令: echo scan > /sys/kernel/debug/kmemleak #触发一次扫描 echo clear > /sys/kernel/debug/kmemleak #清除当前 kmemleak 记录的泄露信息 echo off > /sys/kernel/debug/kmemleak #关闭kmemleak(不可逆转的) echo stack=off > /sys/kernel/debug/kmemleak #关闭任务栈扫描 echo stack=on > /sys/kernel/debug/kmemleak #使能任务栈扫描 echo scan=on > /sys/kernel/debug/kmemleak #启动自动内存扫描线程 echo scan=off > /sys/kernel/debug/kmemleak #停止自动内存扫描线程 echo scan=<secs> > /sys/kernel/debug/kmemleak#设置自动扫描线程扫描间隔,默认是600,设置0则是停止扫描 echo dump=<addr> > /sys/kernel/debug/kmemleak #dump某个地址的内存块信息,比如上面的echo dump=0xffffffc008efd200 > /sys/kernel/debug/kmemleak即可查看详细信息 2. ...