Моя программа на C ++ потребляет много ресурсов ЦП и больше, так как она работает.Я использовал Google Performance Tools для профилирования использования процессора, и вот что я получил:
(pprof) top
Total: 1343 samples
1330 99.0% 99.0% 1330 99.0% 0x0000000801dcb11c
7 0.5% 99.6% 7 0.5% 0x0000000801dcb11e
4 0.3% 99.9% 4 0.3% program::threadWorker
1 0.1% 99.9% 1 0.1% 0x0000000801dcb110
1 0.1% 100.0% 1 0.1% 0x00007fffffffffc0
Однако только 1 из 5 процессов, показанных здесь, является фактическим именем функции;Остальные адреса.Как я могу узнать, к чему относятся эти адреса?(Конечно, меня больше всего интересует первый адрес, показанный выше)
Редактировать: так я запустил профилировщик:
env CPUPROFILE=prof.out ./a.out
[kill program]
pprof ./a.out prof.out
Кроме того, я нашел основную причину при проверке кода,Но все равно было бы неплохо, чтобы профилировщик точно определил виновную функцию, а не адрес.