gmon.out не создается, когда исполняемый файл разветвляется на другой исполняемый файл

Я использую gprof для профилирования. Но gmon.out не создается, когда я разветвляю другой исполняемый файл внутри основного исполняемого файла, который компилируется с опцией -pg. Любая идея, как решить это.

4

Решение

Но gmon.out не создается, когда я разворачиваю другой исполняемый файл

Это вероятно делает. Он просто имеет то же имя, что и все остальные gmon.out файлы. Они просто молча переписывают друг друга.

GNU во всей своей бесконечной мудрости рекомендует, чтобы каждый дочерний процесс, который вы хотите профилировать, выполнялся в своем текущем каталоге. использование mkdir а также chdir в вашем коде по мере необходимости. поскольку gmon.out выписывается по окончании процесса, необходимо только chdir перед звонком exit,

Я также рекомендую посмотреть на valgrind, Помимо прочего, у него есть выходные файлы something.somethingelse.$PID,

4

Другие решения

когда вы устанавливаете GMON_OUT_PREFIX=some_file_name переменная окружения, gprof создаст дополнительные файлы gmon для каждого дочернего процесса с именем some_file_name.pid,

2

По вопросам рекламы [email protected]