Hmm alright..
Help me display symbol name in perf report output..
I compiled program with -g , also used perf report -g .. still getting hex instead of symbol name
If you're getting hexadecimal addresses instead of symbol names in the perf report output, it might be because the necessary debug information isn't available or properly configured. Here are some steps to help you display symbol names:
1. Check Debug Information: Ensure that you've compiled your program with debugging information included. You mentioned using the -g flag, which is correct. This flag tells the compiler to include debugging symbols. Make sure you compiled your code with it.
2. Check Perf Settings: When using perf, it should automatically use the debugging information if available. However, ensure that you are using the -F option to specify the format when running perf report. For example:
perf report -F symbol
3. Check Perf Map Files: Perf uses map files to map addresses to symbol names. These map files are often located in /usr/lib/debug or /usr/lib/debug/usr. Ensure that your system has these map files installed for the specific binaries you are profiling.
4. Symbol Resolution: Sometimes, symbol resolution might fail due to mismatched binaries or libraries. Ensure that you are profiling the same binary for which you compiled with debugging information.
5. Update Perf: Make sure you are using an up-to-date version of perf. Older versions may have issues with symbol resolution.
6. Check Permissions: Ensure that you have the necessary permissions to access the debug information and map files. You might need superuser privileges in some cases.
7. Try --vmlinux Option: If you are profiling the Linux kernel, use the --vmlinux option to specify the path to the kernel image with debugging symbols.