Я пытаюсь профилировать приложение окна Qt, которое я разрабатываю, и ознакомился с методами для профилирования с помощью gprof. Я успешно настроил проект для компиляции и связывания с флагами -pg, чтобы включить профилирование, и gmon.out выводится каждый раз, когда приложение выполняется. Однако когда я попытался запустить gprof для преобразования файла gmon.out в читаемый текстовый файл, я наткнулся на сообщение об ошибке «gmon.out слишком короток, чтобы быть файлом gmon». Я попытался поискать в Google для решения этой проблемы, но безрезультатно. Кто-то также задавал тот же вопрос здесь, но ответа не было.
Я использую Qt 4.7.4 с Qt Creator 2.3.0 с компилятором mingw на Windows 7 для этого проекта.
Флаги, которые я установил в .pro-файлах:
# Profiler flags
CONFIG += DEBUG
QMAKE_CXXFLAGS_DEBUG += -pg
QMAKE_CXXFLAGS_MT_DBG += -pg
QMAKE_LFLAGS_DEBUG += -pg
Вот как я вызвал gprof из командной строки:
C: \ QtSDK \ mingw \ bin> gprof "C: \ Qt exe \ debug \ QtGUI.exe"> profile.txt
И сообщение об ошибке:
gmon.out: файл слишком короткий, чтобы быть файлом gmon
Я также проверил размер файла для gmon.out; он составляет около 520 кб каждый раз, когда я запускаю приложение отладки. Неужели это слишком короткий файл gmon?