Jak dodać flagę valgrinda jak pod spodem go używasz?

0

Hej
Mam taki problem, że musze dodac flage do valgrinda ale niestety w build systemie ten valgrind jest gdzieśtam pod spodem, a używam:
make memcheck
i jak tu w takiej sytuacji dodać flage valgrindową, żeby ten valgrind ktory jest tam pod spodem to zobaczył?
Coś takiego nie działa:

make CFLAGS='--leak-check=full' memcheck
make CXXLAGS='--leak-check=full' memcheck

Output jest taki sam jak bez flagi:

make memcheck

Podobnie z innymi flagami.

0

C(XX)FLAGS są flagami kompilatora, valgrind ich nie widzi. Możesz spróbować z MEMORYCHECK_COMMAND_OPTIONS, ale czy to działa „automagicznie”, czy wymaga odpowiedniej konfiguracji, tego Ci już nie powiem — za słabo CMake’a znam.

3

Valgrind jest zewnętrznym narzędziem, który uruchamia kod skompilowany w trybie debug w specjalny sposób.
Bez znajomości tego, co masz w Makefile trudno powiedzieć co masz zrobić.

Swoją drogą, Valgrind odchodzi w przeszłość, bo funkcje kompilatora: address sanitizer (dostępne na wszystkich ważniejszych kompilatorach) skutecznie go zastępują.

0

Chciałem to sprawdzić na Windows (msys2+clang14+qt5)

"address sanitizer" jest tak czujny ze w pierwsze linijce aplikacji już mam problem

int main(int argc, char *argv[])
{ 
    QApplication app(argc, argv); // <<< SUMMARY: AddressSanitizer: bad-free 
....

1 użytkowników online, w tym zalogowanych: 0, gości: 1