Я новичок в этом, поэтому, возможно, отсутствует что-то основное. Я скомпилирую свою программу на C с параметрами gcc 4.8 (MinGW) и -g.
Затем я запустил его и захватил с помощью Very Sleepy. Все работает, но вывод Sleepy выглядит так:
memcpy 0.98 0.98 7.65 7.65 msvcrt unknown 0
[00000000004038FE] 0.77 0.77 6.02 6.02 a 0
memset 0.63 0.63 4.92 4.93 msvcrt unknown 0
[0000000000404549] 0.42 0.42 3.29 3.29 a 0
[000000000040282A] 0.35 0.35 2.73 2.73 a 0
[0000000000404600] 0.25 0.25 1.99 1.99 a 0
....
etc.
(мое приложение называется a.exe)
Итак, Sleepy не видит имена функций, как мне нужно компилировать/запускать, чтобы заставить его работать?
Сонный сайт дает:
Поддержка GCC/mingw. Теперь вы можете профилировать исполняемые файлы со встроенными данными DWARF2 и работать. Для этого нет специальных параметров, просто скомпилируйте с помощью "-g", чтобы убедиться, что у вас есть символы. Вы также можете использовать "-fno-omit-frame-pointer" для обеспечения правильных вызовов, хотя Sleepy, как правило, работает в любом случае. Вам не нужно использовать "-pg" или любой мусор. Он даже может правильно подобрать стеки между Microsoft DLL и GCC, что было тяжелее, чем вы думаете.
Но этого не достаточно в моем случае.