Hi, I'm struggling to get µProf to show accurate call stacks in the call graph view. It just goes straight to [ROOT] for certain functions that I know have fairly deep (but not ridiculous) call stacks. I'm taking a simple timer-based profile on a Ryzen 7 3800X running Ubuntu 18.04. I've enabled the CSS option to capture call stacks. The app is a C++ one built with GCC 8.4.0. The project consists of multiple binaries - a main executable and other shared libraries in .so form. They are built using -O3 -g so should have debug info. I've also tried enabling -fno-omit-frame-pointers, and toggling the FPO option in µProf's capture settings, plus increasing the call stack size setting to its maximum 8 KB, to no avail.
Intel VTune captures the call stack perfectly when running exactly the same binaries, so the information is there somewhere. Is there a bug in µProf in this area? Something else I can do to narrow down the problem?
Hi @Myrmecophagavir ,
It is always preferable to use the FPO option in the uProf config with stacksize > 256B. We have made few fixes in CSS in the next release, which might be out soon. Till then, if you can share a small sample program, we would look into it and we will make sure it works as expected.