DoubleLi

qq: 517712484 wx: ldbgliet

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

2023年4月20日

摘要: 使用 -fstack-protector 选项的编译脚本 [root@Betty stack_smash_test]# cat mk.sh #!/bin/bash g++ -O2 -Wall -m32 -shared -Wl,-fpic captureexception.cpp -o libcapt 阅读全文
posted @ 2023-04-20 16:44 DoubleLi 阅读(500) 评论(0) 推荐(0)

摘要: 这几天在做总结,把三年前写的一个定位案例,翻了出来。回想起定位这个问题时的场景,领导催得紧,自己对很多东西又不熟悉,所以当时面临的压力还是很大的。现在回想起来感慨还是很多的,我们在遇到任何一个问题,一定不要放弃。还记得在产品线做开发时,学到的一些项目知识,任何一个bug,他总有一天会爆发出来。任何一 阅读全文
posted @ 2023-04-20 14:55 DoubleLi 阅读(622) 评论(0) 推荐(0)

摘要: 最近项目中遇到一个全局变量被莫名修改的问题,代码排查了好久居然没发现,确实有些惭愧,这时候使用一些辅助工具帮助定位就很有必要也比较快速精准!全局变量被修改无非就三种原因:1、自己写的代码修改的;2、数组越界导致的;3、变量定义的时候没有初始化; 排查手段:手段一:踩内存周边地址排查排查被踩内存周边地 阅读全文
posted @ 2023-04-20 14:49 DoubleLi 阅读(2053) 评论(0) 推荐(0)

摘要: 简介 Sanitizers是谷歌发起的开源工具集,包括了AddressSanitizer, MemorySanitizer, ThreadSanitizer, LeakSanitizer,Sanitizers项目本是LLVM项目的一部分,但GNU也将该系列工具加入到了自家的GCC编译器中。GCC从4 阅读全文
posted @ 2023-04-20 14:43 DoubleLi 阅读(1307) 评论(0) 推荐(0)

摘要: 目录 即看即用 详细 简介 Valgrind工具详解 安装 使用 检测内存泄漏 其他内存问题 memcheck 工具的常用选型 其他选项 附录 其他类似工具 实例分析: 03. 使用未初始化的内存 04. 使用野指针 05. 动态内存越界访问 06. 分配空间后没有释放 07. 不匹配使用delet 阅读全文
posted @ 2023-04-20 14:28 DoubleLi 阅读(787) 评论(0) 推荐(0)

摘要: 一 代码 #include<iostream> #include<stdlib.h> using namespace std; void func(){ int *x=(int *)malloc( 10 * sizeof ( int ) ) ; x[10]=0; } int main(){ func 阅读全文
posted @ 2023-04-20 14:14 DoubleLi 阅读(65) 评论(0) 推荐(0)

摘要: 1、程序编译,链接后生成二进制可执行程序。二进制可执行文件以elf格式实现排列。可以通过readelf -S xxxx查看具体section的划分,粗略划分如下图所示。 在这些section中,代码段是只读的,自然也就不存在代码(指令)被改写的情况。数据段,堆,栈区具有读写的属性,但是数据段和堆一般 阅读全文
posted @ 2023-04-20 09:51 DoubleLi 阅读(379) 评论(0) 推荐(0)