Debugging 使用ASAN只编译代码子集的结果是什么?

Debugging 使用ASAN只编译代码子集的结果是什么?,debugging,gcc,address-sanitizer,Debugging,Gcc,Address Sanitizer,我在Linux(通过gcc)上的大部分开发中都使用地址消毒器 我通常只通过地址消毒剂插入自己的代码。因此,我的流程包含插装库和非插装库(第三方,来自其他部门的代码)的混合 这样做的后果是什么?ASAN功能正常吗 Asan在应用于应用程序子集时将正常运行,但在这种情况下可能无法检测到某些错误(在中的问题“我是否还需要构建共享库?”和“我可以使用未初始化的可执行文件运行它吗?”中有介绍) 例如,在应用程序的未初始化部分中定义的堆栈/全局缓冲区上的溢出将不会被检测到(因为此缓冲区的阴影内存将不会被检测

我在Linux(通过gcc)上的大部分开发中都使用地址消毒器

我通常只通过地址消毒剂插入自己的代码。因此,我的流程包含插装库和非插装库(第三方,来自其他部门的代码)的混合


这样做的后果是什么?ASAN功能正常吗

Asan在应用于应用程序子集时将正常运行,但在这种情况下可能无法检测到某些错误(在中的问题“我是否还需要构建共享库?”和“我可以使用未初始化的可执行文件运行它吗?”中有介绍)

例如,在应用程序的未初始化部分中定义的堆栈/全局缓冲区上的溢出将不会被检测到(因为此缓冲区的阴影内存将不会被检测)。类似地,未初始化部分中的任何溢出都不会被检测到(因为没有检测代码)