【发布时间】:2020-01-16 13:09:35
【问题描述】:
当我运行一个简单的 Valgrind 命令时,例如...
valgrind --leak-check=yes ./my_program
... Valgrind 产生的错误输出显示了在源代码中分配内存的位置以及释放的位置。 Valgrind 是如何做到这一点的?在程序的代码中,我自己怎么能做到这一点?如果有帮助,我的 GCC makefile 中为编译定义的 CFLAGS 参数是:
CFLAGS=-c -Wall -Wextra -Wno-unused-parameter -Wno-unused-variable -g -Og -std=c11 -pedantic
【问题讨论】:
-
提示:
-g用于在二进制文件中添加调试信息,可用于显示此类信息。 -
您可以查看 libbfd,例如gnu.org/software/binutils
标签: c compilation valgrind diagnostics