|
From: Josef W. <Jos...@gm...> - 2015-02-18 09:44:41
|
Am 17.02.2015 um 21:22 schrieb Raul Garcia: > I am a new user, I am doing a "hello world" test of Valgrind but i keep > hitting this error: > ... > 2,709 *???*:getenv [/home/otro/arm_emulator/hello_x86] The "???" are not really any errors, but a sign that for these functions, valgrind could not locate debug information providing a source file name. > This is the command that I used, as you can see I used -g and -O0 > options as suggested. > > $ gcc -static -g -O0 hello.c -o hello_x86 getenv above is from glibc, and you seem not to have debug information installed for the statically linkable glibc. "-O0" or "-g" does not help here, because the issue is with an already compiled library. Does it work if you remove "-static"? I have no idea if Ubuntu provides debug info for libc.a ... > But when I try to see the analysis with callgrind I get: > > Ir > -------------------------------------------------------------------------------- > 11,737 PROGRAM TOTALS > > -------------------------------------------------------------------------------- > Ir file:function > -------------------------------------------------------------------------------- > 2,709 ???:getenv [/home/otro/arm_emulator/hello_x86] > 1,133 ???:_int_malloc [/home/otro/arm_emulator/hello_x86] > 813 ???:intel_check_word [/home/otro/arm_emulator/hello_x86] > 792 ???:malloc_consolidate [/home/otro/arm_emulator/hello_x86] > 783 ???:_IO_file_overflow [/home/otro/arm_emulator/hello_x86] > 555 ???:strncmp [/home/otro/arm_emulator/hello_x86] > 435 ???:ptmalloc_init.part.7 [/home/otro/arm_emulator/hello_x86] > 361 ???:(below main) [/home/otro/arm_emulator/hello_x86] > 342 ???:_IO_default_xsputn [/home/otro/arm_emulator/hello_x86] > 311 ???:_dl_init_paths [/home/otro/arm_emulator/hello_x86] > > And I cant see the cost of the functions . What can be the problem? Some > logs are attached, i hope they are helpful. Self cost is there. To see inclusive costs, you need to use "callgrind_annotate --inclusive=yes ...". And "--tree=both" shows a butterfly output of the call graph. I would suggest do use kcachegrind/qcachegrind to visualize callgrind results. Josef |