Почему это не работает?:
файл prog.c
#include <stdio.h>
int main(void)
{
int i, j;
printf("\n%d\n%d\n", i, j);
return 0;
}
файл отладки:
#!/bin/bash
g++ -Wall -Wextra -Wpedantic -O0 -g3 -fsanitize=address -o temp/debug.out src/prog.c
./temp/debug.out
работает:
./debug
prog.c: In function ‘main’:
prog.c:6:9: warning: ‘i’ is used uninitialized in this function [-Wuninitialized]
printf("\n%d\n%d\n", i, j);
^~~~~~~~~~~~~~~~~~~~~~~~~~
prog.c:6:9: warning: ‘j’ is used uninitialized in this function [-Wuninitialized]
0
0
==90==LeakSanitizer has encountered a fatal error
==90==HINT: For debugging, try setting environment variable LSAN_OPTION=verbosity=1:log_threads=1
==90==LeakSanitizer does not work under ptrace (strace, gdb, etc)
Я новичок в использовании средств отладки, но по этой теме читать особо нечего, кроме man-страниц компиляторов.Так, пожалуйста, может кто-нибудь помочь мне?
Это было выполнено в подсистеме Windows 10 для Linux (Ubuntu) на недавно открытом терминале.
Я хотел бы использовать опцию -fno-sanitize=all
, которую я нашел в manстраницы gcc
но, похоже, ни слова не сказано о какой-либо ошибке, с которой я столкнулся.