Я работаю на Mac OSX версии 10.8.5 (Горный лев). У меня есть следующий простой код C++.
main.cpp
:
#include <iostream>
int main ()
{
std::cout << "Hello world!"<<std::endl;
std::cout << "Goodbye world!"<<std::endl;
return 0;
}
Я пытаюсь заставить gprof работать на моем компьютере. Как следует из руководства, я ввожу следующие две строки в моем терминале:
g++ -g -pg main.cpp -o a.out
./a.out
Однако это не создает файл gmon.out
, как предполагалось. Когда я пытаюсь ввести gprof
в терминале, он говорит:
gprof: can't open: gmon.out (No such file or directory)
чего и следовало ожидать, поскольку gmon.out
там нет...
Любые идеи о том, что я делаю неправильно?
РЕДАКТИРОВАТЬ: Некоторые другие вещи, которые могут помочь:
Мой друг, у которого есть аналогичная версия OS X (позже я могу попросить его подтвердить) и точно такие же версии
g++
иgprof
, смог успешно использоватьgprof
, как я описал.Я использую старую версию
g++
, но читал в Интернете, что обновление до более новой версии не помогло.a.out
работает отлично, печатаетHello world!
иGoodbye world!
. Я также пробовал это с более сложной программой C++ с несколькими классами, и у нее все та же проблема. Все компилируется и работает нормально, но файл gmon.out не создается.
gprof
теперь работает на OS X 10.6. Я не вижу, что вы делаете что-то не так, именно то, что вы делаете, работает так, как вы ожидаете в моей системе Linux. - person Crowman   schedule 07.11.2013-pg
не работает ни на одной из моих систем 10.7-10.9.4. Я верю, что вы можете установить свою собственную версию gcc (отдельно от версии, предоставленной Apple), и профилирование будет работать там. - person gautam   schedule 10.09.2014-pg
и gprof определенно не работают для меня в OSX 10.10.3. Даже пробовал запускатьcc
вместоclang
и явно вызыватьexit
. - person Nick Desaulniers   schedule 17.07.2015/usr/bin/cc
имеет символическую ссылку на/usr/bin/clang
- person Steven Lu   schedule 29.11.2016