应用层内存溢出/越界/重复释放等问题检查工具(ASan)
2024-09-07 16:59:35
https://github.com/google/sanitizers/wiki
https://github.com/google/sanitizers/wiki/AddressSanitizer
AddressSanitizer (aka ASan) is a memory error detector for C/C++. It finds:
- Use after free (dangling pointer dereference)
- Heap buffer overflow
- Stack buffer overflow
- Global buffer overflow
- Use after return
- Use after scope
- Initialization order bugs
- Memory leaks
This tool is very fast. The average slowdown of the instrumented program is ~2x (see AddressSanitizerPerformanceNumbers).
The tool consists of a compiler instrumentation module (currently, an LLVM pass) and a run-time library which replaces the malloc
function.
功能强大,使用方便,默认集成到了gcc 4.8;
集成方便,只需使用clang +一些flag,同时还可以做过滤:例如已知函数的泄露
性能还不错,只是源程序×2的占用,相比valgrind要好得多;
可跟gdb/objdump -ldS使用;
最新文章
- mac 抓包工具charles v3.9.3 安装破解步骤
- 带你玩转JavaWeb开发之六-mysql基本语法详解及实例(3)
- Win7 IE故障:APPCRASH,d3d9.dll,c0000005
- 使用BusyBox制作Linux根文件系统
- [转载]MongoDB学习 (六):查询
- dreamweaver批量去除空格,空行
- C#版QQTea加密
- XML方式实现Spring声明式事务管理
- MySQL使用pt-online-change-schema工具在线修改1.6亿级数据表结构
- INFORMATION_SCHEMA.PROFILING
- 关于SDK_JDK_JRE_JVM的关系
- 二:vlan,gre,vxlan
- springboot常见 10问
- cf276E 两棵线段树分别维护dfs序和bfs序,好题回头再做
- PO模型
- Wireshark 文件分割和合并
- MySQL Profiling--常用命令
- 好文推荐系列-------(5)js模块化编程
- yii---where该如何使用
- sublime 配置python环境
热门文章
- 01-Git单人本地仓库操作
- 微信小程序 没有找到可以构建的npm包
- python基础(30):黏包、socket的其他方法
- File文件的创建,删除 createNewFile() delete()
- 如何搭建属于自己的Web服务器
- RV32FDQ/RV64RDQ指令集(2)
- Wireshark使用教程:不同报文颜色的含义
- iOS中的GCD线程
- 浅入浅出 Go 语言接口的原理
- 微服务:Eureka+Zuul+Ribbon+Feign+Hystrix构建微服务架构