main.c
tom@ubuntu:~/dvp$ cat -n ./main.c
1 #include <stdlib.h>
2 #include <stdio.h>
3
4 void MyMalloc(const size_t siz, char** pptr)
5 {
6 *pptr = malloc(siz);
7 return;
8 }
9
10 void MyFree(void* ptr)
11 {
12 free(ptr);
13 return;
14 }
15
16 int main()
17 {
18 char* pcBuf1 = (char*)0;
19 char* pcBuf2 = (char*)0;
20 char* pcBuf3 = (char*)0;
21 char* pcBuf4 = (char*)0;
22
23 MyMalloc(10, &pcBuf1);
24 MyMalloc(20, &pcBuf2);
25 MyMalloc(30, &pcBuf3);
26 MyMalloc(40, &pcBuf4);
27
28
29 MyFree(pcBuf1);
30 MyFree(pcBuf3);
31 MyFree(pcBuf4);
32
33 return 0;
34 }
tom@ubuntu:~/dvp$
gdb自动化脚本
功能:每次调用malloc或free时都把堆栈保存在log文件中
tom@ubuntu:~/dvp$ cat ./gdbcmd_mallocfree_btlog.txt
set pagination off
set logging file

这篇博客介绍了如何使用GDB自动化脚本,在每次调用malloc或free时捕获堆栈信息并保存到日志文件中,详细讲解了脚本的使用方法及查看保存的backtrace日志文件的步骤。
最低0.47元/天 解锁文章
1541

被折叠的 条评论
为什么被折叠?



