libFuzzer,为什么只显示偏移而不是详细的功能位置

时间:2017-03-22 07:29:09

标签: llvm-clang

我是libFuzzer的新手。现在,我用它来查找一个库中的潜在错误(myLibrary.a)。所以,我编写了test_fuzz.cpp文件,该文件调用函数LLVMFuzzerTestOneInput()。

我使用clang ++标志“-fsanitize = address -fsanitize-coverage = trace-pc-guard -g -o2”编译test_fuzz.cpp,并与libFuzzer.a myLibrary.a链接以创建可执行App。

myLibrary.a预先构建了相同的编译器标志(clang ++)。

运行应用程序,它确实击中了堆后使用。但是,它报告如下。我的问题是,为什么它只能报告偏移而不是详细位置(如函数名,文件名和行号)? myLibrary.a中包含许多位于不同文件夹(模块)中的文件,无法逐个列出所有文件并使用test.cpp构建。

我很难用偏移量来确定代码的哪个部分有bug。我在这里想念的是什么?感谢您的帮助。

==18728==ERROR: AddressSanitizer: heap-use-after-free on address 0x60f0000000c0 at pc 0x00000127884c bp 0x7f7db9decd70 sp 0x7f7db9decd68
READ of size 8 at 0x60f0000000c0 thread T8
    #0 0x127884b  (/home/workspace/test_fuzz+0x127884b)
    #1 0x127aad5  (/home/workspace/test_fuzz+0x127aad5)
    #2 0x127acd2  (/home/workspace/test_fuzz+0x127acd2)
    #3 0x127e591  (/home/workspace/test_fuzz+0x127e591)
    #4 0x12633ac  (/home/workspace/test_fuzz+0x12633ac)
    #5 0x121efee  (/home/workspace/test_fuzz+0x121efee)

0 个答案:

没有答案