avatar
文章
38
标签
11
分类
6

Home
Archives
Tags
Categories
Anthony Li's Blogs
搜索
Home
Archives
Tags
Categories

Anthony Li's Blogs

leak sanitizer
发表于2024-09-23|computer_sciencesanitizer
1. 简介 简称LSan 用于发现内存泄漏 已集成到asan中 在性能关键的场景中,LSan也可以在无asan插桩时使用 2. 使用方法2.1 using lsan on top of asan像使用asan那样使用,例如a.c存在内存泄漏问题,代码如下: 123456789#include <stdlib.h>void *p;int main() { p = malloc(7); p = 0; // The memory is leaked here. return 0;} 使用如下方式编译运行: 1$ clang -fsanitize=address -g a.c -o a && ./a 如果使用asan编译的程序不需检查内存泄漏(只需检查其他asan bugs),则使用运行时flagASAN_OPTIONS=detect_leaks=0。 2.2 lsan单独模式如果只需检查内存泄漏且不想被asan拖慢运行速度,可以使用编译时flag-fsanitize=leak而不是-fsanitize=address,此时不 ...
address sanitizer
发表于2024-09-23|computer_sciencesanitizer
1. 简介AddressSantizer简称为asan。 用于发现C/C++程序中的内存错误。 asan运行很快,它给程序带来的平均slowdown大约2x。 asan包括两部分: 静态插桩模块(compiler instrumentation module, 目前实现是一个LLVM pass) 运行时库(提供了asan版本的malloc、free等函数) 插桩(instrumentation)即修改程序以便于对它进行分析。 编译器插桩技术是一种在源代码被编译为可执行代码的过程中,向代码中添加额外的指令或元数据的方法。 2. 使用方法2.1 编译器版本要求llvm 3.1及以上,gcc 4.8及以上 2.2 常见使用过程编译: 1$ clang -fsanitize=address -O1 -fno-omit-frame-pointer -g use-after-free.c -o use-after-free 运行: 1$ ./use-after-free 即: 使用clang编译器。 编译时指定-fsanitize=address选项。 为了更高的性能, ...
破阵子·四十年来家国
发表于2024-09-22|literature(文学)
破阵子·四十年来家国 [五代] 李煜 四十年来家国,三千里地山河。凤阁龙楼连霄汉,玉树琼枝作烟萝,几曾识干戈? 一旦归为臣虏,沈腰潘鬓消磨。最是仓皇辞庙日,教坊犹奏别离歌,垂泪对宫娥。
sanitizer工具
发表于2024-09-22|computer_sciencesanitizer
1. Sanitizer系列简介中文直译:sanity n. 神志正常,精神健全sanitize v. 消毒sanitizer n. 消毒剂 2. 包含的工具2.1 AddressSanitizer用于发现C/C++程序中的内存错误,比如use-after-free和{heap,stack,global}-buffer overflow。 2.2 LeakSanitizer用于发现内存泄漏,已被集成到AddressSanitizer中。 2.3 ThreadSanitizer用于发现C/C++和Go程序中的数据竞争(data race)。 2.4 MemorySanitizer用于发现未初始化内存的使用。 3. 注意 并不是一定能检测出所有的bug ! ! ! asan/tsan/msan在同一个程序中最多使用一个 4. 参考文献 https://github.com/google/sanitizers/wiki https://clang.llvm.org/docs/UsersManual.html#cmdoption-f-no-san ...
自题金山画像
发表于2024-08-20|literature(文学)
自题金山画像 [宋] 苏轼 心似已灰之木,身如不系之舟。 问汝平生功业,黄州惠州儋州。
少年行
发表于2024-08-17|literature(文学)
少年行 [唐] 王维 (其一) 新丰美酒斗十千,咸阳游侠多少年。 相逢意气为君饮,系马高楼垂柳边。 (其二) 出身仕汉羽林郎,初随骠骑战渔阳。 孰知不向边庭苦,纵死犹闻侠骨香。 (其三) 一身能擘两雕弧,虏骑千重只似无。 偏坐金鞍调白羽,纷纷射杀五单于。 (其四) 汉家君臣欢宴终,高议云台论战功。 天子临轩赐侯印,将军佩出明光宫。
虞美人·听雨
发表于2024-07-19|literature(文学)
虞美人·听雨 [宋] 蒋捷 少年听雨歌楼上,红烛昏罗帐。壮年听雨客舟中,江阔云低、断雁叫西风。 而今听雨僧庐下,鬓已星星也。悲欢离合总无情,一任阶前、点滴到天明。
Bash job control
发表于2024-06-03|computer_science
1. job control是什么job control指暂停执行进程并稍后继续执行它的能力。 bash给每个pipeline关联一个job。 2. 前台进程和后台进程前台(foreground)进程指,与当前终端进程的进程组id(process group id)相同的进程; 反之为后台(background)进程。 区别包括: 前台进程接受键盘生成的信号(如ctrl+c生成SIGINT),后台进程不会接受。 只有前台进程被允许读取终端,后台进程如果尝试读终端会被发送SIGTTIN信号,它会暂停(suspend)该进程。 3. job spec %<n>指第n个job %和%%和%+指当前job(即最后一个从foreground暂停或从background启动的job) %-指前一个job 4. 使用4.1 Ctrl+Z(suspend字符)暂停进程,同时控制权返回给bash。 4.2 Ctrl+Y(delayed suspend字符)在进程尝试读终端时,暂停进程并把控制权返回给bash。 4.3 bg命令用法为bg [<jobspec>... ...
南乡子·登京口北固亭有怀
发表于2024-05-18|literature(文学)
南乡子·登京口北固亭有怀 [宋] 辛弃疾 何处望神州?满眼风光北固楼。千古兴亡多少事?悠悠。不尽长江滚滚流。 年少万兜鍪,坐断东南战未休。天下英雄谁敌手?曹刘。生子当如孙仲谋。
Linux生成动态库
发表于2024-05-05|computer_sciencelinker
1. -fPIC选项所有作为输入的目标文件和静态库在编译时必须添加了-fPIC选项,才能生成动态库。 2. 生成动态链接库使用g++命令把多个静态库和目标文件生成动态库 1234567g++ -Wl,--whole-archive -l:<libfirst.a> -l:<libsecond.a> ... -Wl,--no-whole-archive -l:<libthird.a> ... <object_first.o> <object_second.o> ... -Wl,-L<lib_path> -shared -o <libshared.so> -Wl,--whole-archive后指定需要包括其中所有目标文件的库 -Wl,--no-whole-archive用以取消-Wl,--whole-archive的后续作用 -Wl,-L<lib_path>用以添加库文件查找目录 -shared表明此次链接要创建一个动态库 -o <libsh ...
1234
avatar
Anthony Li
文章
38
标签
11
分类
6
Follow Me
最新文章
临江仙·夜归临皋2025-04-12
自遣2025-04-06
赠卫八处士2024-12-03
Linux ps常用命令2024-12-03
题临安山水2024-11-26
分类
  • computer_science26
    • gdb6
    • git2
    • linker6
    • sanitizer5
  • literature(文学)12
标签
linker git poem(诗歌) gdb history(历史) shell excerpt(摘抄) sanitizer loader linux c++
归档
  • 四月 20252
  • 十二月 20242
  • 十一月 20242
  • 十月 20242
  • 九月 20246
  • 八月 20242
  • 七月 20241
  • 六月 20241
网站资讯
文章数目 :
38
本站访客数 :
本站总访问量 :
最后更新时间 :
©2019 - 2025 By Anthony Li
框架 Hexo|主题 Butterfly
搜索
数据库加载中