代码调试
机器林砍菜刀
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
wireshark抓包流程分析
这是一张wireshark抓包图,从上往下依次是源网卡,目的网卡,源ip,目的ip,socket绑定的端口号,数据内容,可以看出目的mac是01010200c0,这时我们再在目的开发板上查看绑定对应ip的Mac,如下图然后我们再去找发送端的Linux系统的arp表如下图所示然后再去找发的自己做的arp表,如下图所示所发的mac地址和wireshark抓包的不一致,这时就要开始定位代码是怎么传输的了,分析好了,后续更新。原创 2022-11-10 18:36:19 · 492 阅读 · 1 评论 -
memcpy函数拷贝不成功分析
1,memcpy((s8*)(((s8*)pNewMsgHead)+sizeof(OSP_NEW_STRU_MSGHEAD)),(s8*)((孙8*)pdata+sizeof(OSP_STRU_MSGHEAD)),((u32)u32len-sizeof(OSP_STRU_MSGHEAD));请注意指针偏移大小要以字节大小进行偏移,千万别整错了原创 2022-11-10 18:17:37 · 2168 阅读 · 0 评论 -
Linux的一个分区占满了,显示权限是问号
昨天在做一个项目,由于产测人员误操作,将一个1.3G大小的包下载到一个不到1G的分区中,导致该文件夹使用ls -al显示的权限全是d???,说明这只是一个目录,使用df -h查看分区大小,发现全被占满了,最后使用rm -rf这个文件目录,显示的也是删除不了里面的内容。最后操作的方法是:首先,umount ata2—不挂载这个文件目录;然后,mkft -t ext4 /dev/sda6—格式化该分区;最后,mount ata2 /dev/sda6—挂载这个分区;问题完美解决了。原创 2022-10-21 11:43:17 · 1986 阅读 · 0 评论 -
笔记-调试
笔记原创 2021-12-28 21:29:01 · 1770 阅读 · 0 评论 -
动态库与静态库的前世与今生
静态库:以空间换时间动态库:以时间换空间静态库的编写 动态库的编写 //myalib.hvoid test();//myalib.cvoid test(){ printf("hello\n");} //myalib.hvoid test();//myalib.cvoid test(){ printf("hello\n");} 静态库的制作 动态库的制作 1,生成目标文件.原创 2021-08-08 15:53:39 · 195 阅读 · 0 评论 -
Android.bp 文件中引入.a静态库.so动态库正确编译方法
在Android开发的时候,经常会使用到用c或c++编写的第三方的静态库。如果有源码的话,可以直接跟你自己的代码一去编译成动态库so,但是如果没有源码的话,你就必须在自己的动态库so里面将别人生成好的静态库导入进来一起编译了。我在编译的时候遇到了不少问题,我觉得有必要进行总结一下。.a静态库引入方式在模块源码根文件下新建文件夹 libs,复制要引入的.a文件至此,新建 Android.bp这样就会在obj生成文件夹下面重新生成一个libhisdk.a文件,这个文件就可以在其他android.bp文件中原创 2021-07-27 16:37:02 · 8432 阅读 · 5 评论 -
Failed to dlsym make_device: undefined symbol: make_device
Failed to dlsym make_device: undefined symbol: make_device最近在做开发的时候,遇到了一些bug。困扰了好长时间,虽然自己很菜,但是想着能够积累下来,以后再遇到同类型的问题,有个能解决问题的思路。问题大致如下:android的recovery系统下面能够做一些基础的测试demo。但是这个最新的demo是由C++和C语言共同开发的。里面有些函数需要依赖动态库,比如librecovery_ui.so,但是其中有一个库很特殊,叫librecovery_u原创 2021-05-12 10:04:47 · 374 阅读 · 1 评论 -
fatal: fork: Cannot allocate memory错误调试
fatal: fork: Cannot allocate memory错误调试最近在编译android源码的过程中,一直出现这个问题,上网搜了发现好多都是说进程数太少了,不能够满足编译所需的进程,需要扩充进程数,但是我们是公司的电脑,服务器上面的进程数不能被我们控制,后来编译的时候发现编译时,调用的./build.sh里面写的的make -j24,说明编译的时候,调用的线程数是24,这样虽然会增快编译速度,但是同样会使进程数增加,解决办法就是把-j24改成-j8,或者-j16就可以完美解决问题了,希望能够原创 2021-04-16 14:19:13 · 614 阅读 · 0 评论
分享