В Qt вы можете интегрировать Valgrind проанализировать ваш код. Я использую Valgrind Function Profiler в анализировать режим и ударил Начните кнопка. Проблема в том, что у меня есть огромная последовательность запуска, которая меня не интересует.
Я нашел определения в Valgrind / callgrind.h это должно помочь мне:
В соответствии с Эта статья Я должен выполнить Valgrind со следующими параметрами:
valgrind --tool=callgrind --instr-atstart=no ./application
Но как мне это сделать в Qt? Я все еще хочу использовать приятный графический интерфейс и навигацию.
Спасибо!
Предположим, у вас есть проект с «main.cpp» и подпапкой «build». Создайте текстовый файл с именем «my_valgrind.sh» рядом с «main.cpp» и поместите в него следующие строки:
#!/bin/bash
valgrind --instr-atstart=no $@ ./build/[...]
замените […] на имя вашего исполняемого файла. Qt предоставляет остальные аргументы через $ @
После этого сделайте файл sh доступным для запуска: щелкните правой кнопкой мыши на файле .sh file-> Properties-> Permissions-> Allow Execution as Program (или используйте решение командной строки)
Может быть, вам нужно изменить разрешения (chown [имя пользователя] my_valgrind.sh)
В Qtcreator вы идете в Инструменты-> Параметры-> Анализатор и заменяете исполняемый файл valgrind полным путем к файлу my_valgrind.sh.
Тогда это должно работать.
Важный:
Вы можете попробовать этот подход, который я использовал один раз. Создать bash
скрипт.
#!/bin/bash
valgrind --tool=callgrind --instr-atstart=no $@
сделать его исполняемым (chmod + x) и использовать его как исполняемый Qt Creator -> Tools -> Options -> Analyzer
,
Просто стоит попробовать.