I have an application that will call some dynamic library. I used the default setting to profile but it turns out that the dynamic library symbols are not recognized. The main program functions are correctly showed. Is there any setting to let Vtune track into these dynamic library? The library contains debug information and is built with same options as main program.
Please specify which version of VTune you were using. Also Win or Lin?
Usually VTune should resolve symbols in the dynamic library if compiled using the same options as executable.
How exactly you defined that the functions were not resolved? Could you attach a screen shot or the compressed project?
If you are on Windows, try to open the dll with the Static Module Viewer (Menu->File->Open Static Module Viewer). Check if the symbols are resolved successfullyin this case.
I'm using Vtune9.1 for Linux build 226. The shared library is showed as "other32". I used another profiling tool which could display a correct map for all functions. And those in share library is not shown in Vtune. All with same condition. So I'm sure Vtune is not working for my shared lib. Thanks for any help.
Edited: The dynamic library is built with a slightly different options. Would it cause problems?
Normally, VTune should resolve symbols if debug info is present in the binary. There are some cases we observed in the past that compiler generated wrong symbol information, butthis could be identified only by investigating the binary.
If you get Other32, it doesn't necessarily represent the samples that hit to your library. It might be an address with no association to a particular module. See more detailed explanation here.
If you can't share the binary module, please, check again if the compilation line for the module contains -g option and there is not strip option in there.