K
Size: a a a
K
K
NP
NP
NP
D
NP
int main() {
S s;
std::exit(0);
// ~S is never called
}
NP
std::exit
полностью отключает leak sanitizer, насколько я понимаюOZ
int main() {
S s;
std::exit(0);
// ~S is never called
}
D
#include <string>
int main() {
std::string s; // это важно
int* i = new int;
return 0;
}
clang++ main.cpp -o main -g -fsanitize=address
. Так вот, на Fedora утечка детектится, а на Arch — нет. Причем, если закомментировать строчку со string, то работает на обеих системах. Почему так происходит?NP
NP
LY
#include <string>
int main() {
std::string s; // это важно
int* i = new int;
return 0;
}
clang++ main.cpp -o main -g -fsanitize=address
. Так вот, на Fedora утечка детектится, а на Arch — нет. Причем, если закомментировать строчку со string, то работает на обеих системах. Почему так происходит?LY
#include <string>
int main() {
std::string s; // это важно
int* i = new int;
return 0;
}
clang++ main.cpp -o main -g -fsanitize=address
. Так вот, на Fedora утечка детектится, а на Arch — нет. Причем, если закомментировать строчку со string, то работает на обеих системах. Почему так происходит?LY
D
VK
std::exit
не вызываются деструкторы локальных переменных, стек не раскручивается — не уверен в каноничности