|
From: Olaf L. <ol...@ic...> - 2014-07-21 12:49:03
|
Hi everybody! I am trying to use callgrind (3.8.0) to profile our simulation software ESPResSo (http://espressomd.org) on Linux. Unfortunately, callgrind seems to loose the information on where to find the source files when running the binary. When I use 'nm -lC Espresso' on the binary file, I see that the binary does contain the source code information, e.g.: 000000000049e605 W add_lj_pair_force(Particle*, Particle*, IA_parameters*, double*, double, double*) /home/olenz/projects/espresso/src/src/core/lj.hpp:45 However, when I run the binary under callgrind, the output file does not contain any of the symbols from the binary file, but only the addresses. Interestingly, when I test callgrind on a simple test program, everything works fine... Steps to reproduce: 1. Download source code. 2. Compile with > configure CXXFLAGS="-O0 -g" > make 3. Check the binary file that it contains symbols: > nm -lC Espresso | grep add_lj_pair_force 4. Run test with > cd testsuite > valgrind --tool=callgrind ../Espresso lj.tcl 5. Examine "callgrind.out.XXX": no symbols are contained. Does anybody have an idea what goes wrong? Olaf -- Dr. rer. nat. Olaf Lenz Institut für Computerphysik, Allmandring 3, D-70569 Stuttgart Phone: +49-711-685-63607 |