John S
John S

Reputation: 3483

stepping through stl code in gdb

I'm working on a relatively old Centos system where I am restricted in the packages I can install. I needed a newer version of gdb, so I built that successfully from source in my home dir. This gdb steps through my code fine, but I am looking for trouble that is manifesting in the C++ allocator (mt_allocator.cc) and this new version of gdb can't step through that code. I can break successfully on a function there:

 break '__gnu_cxx::__pool<true>::_M_initialize()'

but when that breakpoint hits and I try to step through the code, gdb tells me:

Single stepping until exit from function _ZN9__gnu_cxx6__poolILb1EE13_M_initializeEv,
which has no line number information.

I tried using the dir command within gdb to add the path to where mt_allocator.cc is, but that had no effect.

What do I need to tell gdb so it can find those files?

Upvotes: 0

Views: 241

Answers (1)

John S
John S

Reputation: 3483

Ah, found it. The Centos package manager put the debug files for the STL code at /usr/lib/debug. So:

set debug-file-directory /usr/lib/debug

within gdb gets it done.

Upvotes: 1

Related Questions