曾经使用过的网络方案
n2n
现在在使用zerotier
可能可以尝试rathole
几种利用page fault的性能优化机制
应该都可以归类为lazy allocation
demand page 快速加载程序(的text和data)exec
zero fill demand 快速分配空白页
copy on write 快速fork
dynamic analysis
只能抓出在特定输入上出现的problematic behavior
工具valgrind
替换malloc为它的实现,并在读写内存时添加一些记录检查代码,可以检查是否读写了超出堆空间的内存
优点是泛用性很强,因为不需要拿到源码
缺点是二进制文件中信息量太少(比如栈上具体怎么将内存划给变量)
llvm sanitizer
更进了一步,从源码分析
可以做到变量级,如数组出界
提供了很多sanitizer
fuzzing
模糊测试,构造大量测试用例,变异

static analysis
lint
一种编码规范,不等同于程序broke
dataflow analysis
追踪所有程序执行路径上数据的变化,可以做到检查是否正确释放资源等
可能会错误警示一些不可能走到的路径
适合单文件,多文件可能会unwieldy
Cool let’s sanitize/tidy all the code!🔨💯