- 博客(76)
- 资源 (7)
- 收藏
- 关注
原创 asan 使用
运行最好用LD_PRELOAD=/usr/lib64/libasan.so.4 ./main ,这样不影响下次运行。LD_PRELOAD和LD_DEBUG 仅在通用Linux下观察链接过程。在ASAN_OPTION=help=1:${ASAN_OPTION}log_path 指定的文件一定要存在,且生成又是其他文件。
2024-03-15 15:06:47
244
原创 汇编工具理解
gcc 编一个32位程序也会因为stdio.h内部缺失导致编译失败。当百度读取键盘敲入字符等得到的代码,譬如如下。ld可链接32位程序可运行,前提不引用其他。但ld时无法链接到C库函数。编译64位及链接方法。
2024-02-26 15:57:22
356
原创 静态代码分析工具
Cppcheck:静态C/C++代码分析工具 include-what-you-use:使用clang进行代码分析的工具,可以#include在C和C++文件中。 OCLint:用于C,C++和Objective-C的静态源代码分析工具,用于提高质量,减少瑕疵。 Clang Static Analyzer:查找C,C++和Objective-C程序bug的源代码分析工具 List of tools for static code analysis:来自维基百科的静态代码分析工具列表
2024-02-26 10:31:15
249
原创 linux内核最低版本1.0编译
make config 会生成autoconf.h文件。boot目录下汇编是32位,as ld 加 --32。依赖头文件include 加进来,-I全路径。Configure readln函数修改如下。由于代码太老,现有gcc不支持。
2024-02-04 17:33:27
288
原创 qemu 网络配置
新增用户模式,搜 network backend 'user' is not compiled into this binary编译时要加参数 --enable-slirp宿主机启动命令进入设备。
2024-01-30 15:57:16
391
原创 linux文件系统
设备文件类型/dev/,dva 根文件系统,dvb挂载可用磁盘无论ext,还是squashfs文件系统,都要了解原理图(逻辑结构)各文件系统对比。
2024-01-29 20:16:46
304
原创 vmware安装centos8-stream
虚拟机:安装配置(VMware + centos 8 stream)_centos stream 8-CSDN博客
2024-01-27 23:08:53
228
原创 openjdk编译工具了解
Main.gmkJVM_VARIANTS 是定义在buildjdk-spec.gmk.in首次make会生成make-support譬如生成module-deps.gmk来自于make/common/Modules.gmkmodule-deps.gmk 可查看要单独执行编译的单元。
2024-01-26 17:23:42
159
原创 SSL了解
生成Makefile 模版文件unix-Makefile.tmpl。python 会被SSL拦截,无法走自验签方式调https。是否编debug 搜索CFLAGS 或 CXXFLAGS。curl 忽略ssl策略 加参数 -k。
2024-01-26 17:15:00
558
原创 qemu调试linux内核
-s shorthandfor-gdb tcp::1234若 不想使用1234端口,则可以使用-gdb tcp:xxxx来取代-s选项。(gdb)file linux-3.18.6/vmlinux # 在gdb界面中targe remote之前加载符号表。(gdb)breakstart_kernel # 断点的设置可以在target remote之前,也可以在之后。(gdb)target remote:1234 # 建立gdb和gdbserver之间的连接。eclipse图形化调试。
2024-01-25 21:58:55
434
原创 openjdk源码了解
而且也断点不到oom需要打印的函数,估计不是搜到的退出函数了。libjvm.so 明明有编译信息,却没有符号。4、执行java的main函数。关键执行class字节码步骤。1、加载MainClass。3、获取MainID和入参。执行java的C++代码。2、获取appClass。java调试用例源码。
2024-01-20 21:40:51
509
原创 readelf 工具源码分析
小段,从0x0024开始倒序向前Elf64_External_Ehdr 对应上图值至Type,Type之上是e_ident值。处理函数get_file_header[字节读取不分析了]
2023-12-11 10:49:31
185
原创 git提交的脚本或makefile无可执行权限
在windows中使用tortoise git提交的脚本、makefile等在linux下没有可执行权限。
2023-11-16 10:59:37
216
原创 js 图像处理
jpg像素应该是rpg、channel值,其他图片应该也是这样的,图片存储为图片在读取。加载代码,由于img没有onload,所以image.width一直是0。
2022-12-08 20:50:25
494
1
原创 git神级操作
由于无法新建一个分支来合代码,直接通过git review操作产生一个MR,直接往主干合入。但3个人同时开发A,B,C模块,产生MA,MB,MC三个MR,本来已经合入MD了,但某个MA发生更改,且用了git amend方式,最上层commit记录C1变更,原先的记录在MD中是处于某一位置。
2022-10-12 13:06:31
96
原创 差异工具比较
import osimport reimport sysimport getoptdef getContent(cfile): A = open(cfile) content = [] lines = A.readlines() k = 0 f = False for i, line in enumerate(lines): if k != 0 and f: k -= 1 cont.
2022-04-02 19:30:36
380
原创 mq消息丢失和重复消费
参考文章https://www.cnblogs.com/zhumengke/articles/12053220.htmlhttps://blog.csdn.net/u011414629/article/details/101166442
2021-09-06 20:29:57
80
原创 redis缓存穿透、缓存击穿、缓存雪崩区别和解决方案
设计一个缓存系统,不得不要考虑的问题就是:缓存穿透、缓存击穿与失效时的雪崩效应。前台请求,后台先从缓存中取数据,取到直接返回结果,取不到时从数据库中取,数据库取到更新缓存,并返回结果,数据库也没取到,那直接返回空结果。缓存穿透描述: 缓存穿透是指缓存和数据库中都没有的数据,而用户不断发起请求。由于缓存是不命中时被动写的,并且出于容错考虑,如果从存储层查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到存储层去查询,失去了缓存的意义。在流量大时,可能DB就挂掉了,...
2021-09-05 16:50:28
77
原创 redis集群模式
redis有三种集群方式:主从复制,哨兵模式和集群。1.主从复制主从复制原理:从服务器连接主服务器,发送SYNC命令; 主服务器接收到SYNC命名后,开始执行BGSAVE命令生成RDB文件并使用缓冲区记录此后执行的所有写命令; 主服务器BGSAVE执行完后,向所有从服务器发送快照文件,并在发送期间继续记录被执行的写命令; 从服务器收到快照文件后丢弃所有旧数据,载入收到的快照; 主服务器快照发送完毕后开始向从服务器发送缓冲区中的写命令; 从服务器完成对快照的载入,开始接收命令请...
2021-09-05 16:26:28
139
原创 netty
面试题https://segmentfault.com/a/1190000023578844https://baijiahao.baidu.com/s?id=1669639041722396699&wfr=spider&for=pc
2021-08-04 16:12:17
73
原创 mybatis面试
https://www.jianshu.com/p/91b12bb843b8https://github.com/brianway/springmvc-mybatis-learning
2021-07-19 16:39:27
72
原创 zookeeper
Zookeeper的数据模型、节点、角色熟悉 zkCli 的常用操作命令,watch 观察机制, 熟悉 ZooKeeper 常用四字命令zookeeper节点Watch机制实例展示
2021-07-15 17:10:23
66
visualstudio1234211234123
2019-04-18
mogodb1wqe
2019-04-17
JDK多线程学习viso分析
2018-03-23
spring课程简单细节总结
2018-01-01
N皇后算法讲义
2018-01-01
C sharp 常用类库大全
2014-04-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人