jdwiegman
jdwiegman

Reputation: 85

Deciphering a libc element in a stack trace

I have one element in my stack trace I am not able to understand:

/lib/x86_64-linux-gnu/libc.so.6(+0x370b0)[0x7ff622fdb0b0]

What I don't get is, what is the (+0x370b0). I'd expect to see a function before the +.

Does this mean the trace couldn't get the function call, and is just referencing the offset in the shared library?

Upvotes: 0

Views: 263

Answers (1)

It probably refers to a static function inside the libc, whose name is not a symbol visible e.g. to the dynamic loader, or to backtrace(3)

So the backtrace sees a function address but is not able to convert it to a symbol. See e.g. dladdr(3) (which won't find the lacking name, but could find some public names close to it).

Perhaps having debug variant of the libc might help (at least with a suitably configured gdb), try installing some package like libc6-dbg

Upvotes: 1

Related Questions