by Anonymous » Yesterday, 15:35
Ich verwende Adressanitizer mit GCC auf Rocky 8 Linux und sehe keine Symbole im CallStack, wenn er einen Fehler erkennt. Ld_preload =/usr/lib64/libasan.so.5 /usr/lib64/libubsan.so.1
und Asan_Symbolizer_Path =/bin/llvm-symbolizer
gcc -std=c99 -Wall -c -fmessage-length=0 -m64 -fno-omit-frame-pointer -DLINUX -DDESKTOP -D_POSIX_C_SOURCE=199309L -DDEBUG -D_DEBUG -ggdb3 -O0 -fsanitize=address,undefined -c -o workspace/sanitized/app.o workspace/sanitized/app.c
g++ -pthread -no-pie -o workspace/sanitized/app -DDEBUG -D_DEBUG -ggdb3 -O0 -fsanitize=address,undefined -Llibs/linux/sanitized -Wl,--start-group -llib1 -llib2 -llib3 -lrt workspace/sanitized/app.o -Wl,--end-group
< /code>
Wenn ich renne, sehe ich den Fehler mit einer Stapelspur, aber immer noch keine Symbole. Mit den von Libasan in der Stapelspur gemeldeten Adressen funktioniert es.
Code: Select all
llvm-symbolizer --obj=app 0x427d81
Gibt die Datei- und Zeilennummer korrekt zurück, in der der Fehler aufgetreten ist.>
Ich verwende Adressanitizer mit GCC auf Rocky 8 Linux und sehe keine Symbole im CallStack, wenn er einen Fehler erkennt. Ld_preload =/usr/lib64/libasan.so.5 /usr/lib64/libubsan.so.1
und Asan_Symbolizer_Path =/bin/llvm-symbolizer
gcc -std=c99 -Wall -c -fmessage-length=0 -m64 -fno-omit-frame-pointer -DLINUX -DDESKTOP -D_POSIX_C_SOURCE=199309L -DDEBUG -D_DEBUG -ggdb3 -O0 -fsanitize=address,undefined -c -o workspace/sanitized/app.o workspace/sanitized/app.c
g++ -pthread -no-pie -o workspace/sanitized/app -DDEBUG -D_DEBUG -ggdb3 -O0 -fsanitize=address,undefined -Llibs/linux/sanitized -Wl,--start-group -llib1 -llib2 -llib3 -lrt workspace/sanitized/app.o -Wl,--end-group
< /code>
Wenn ich renne, sehe ich den Fehler mit einer Stapelspur, aber immer noch keine Symbole. Mit den von Libasan in der Stapelspur gemeldeten Adressen funktioniert es.[code]llvm-symbolizer --obj=app 0x427d81[/code] Gibt die Datei- und Zeilennummer korrekt zurück, in der der Fehler aufgetreten ist.>