Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Language IDEs » C / C++ IDE (CDT) » Debugging shared libraries - finding sources
Debugging shared libraries - finding sources [message #786003] Sun, 29 January 2012 21:47
Filip Krikava is currently offline Filip KrikavaFriend
Messages: 45
Registered: January 2012
Member
Hi,

(I apologize upfront if I miss something obvious)

I'm having a problem to make the CDT debugger find the sources of a particular shared library. This shared library was built using homebrew (kind of package manager on OSX) but I guess this is not very relevant. The debugging informations are there.

$  nm -a /usr/local/lib/libsimgrid.3.6.2.dylib | grep src
....
0000000000000000 - 00 0000   SOL /tmp/homebrew-simgrid-3.6.2-dz9E/simgrid-3.6.2/src/amok/amok_base.c
0000000000000000 - 00 0000    SO /tmp/homebrew-simgrid-3.6.2-dz9E/simgrid-3.6.2/src/gras/DataDesc/
0000000000000000 - 00 0000   SOL /tmp/homebrew-simgrid-3.6.2-dz9E/simgrid-3.6.2/src/gras/DataDesc/cbps.c
0000000000000000 - 00 0000   SOL /tmp/homebrew-simgrid-3.6.2-dz9E/simgrid-3.6.2/src/gras/DataDesc/datadesc.c
0000000000000000 - 00 0000   SOL /tmp/homebrew-simgrid-3.6.2-dz9E/simgrid-3.6.2/src/gras/DataDesc/ddt_convert.c
0000000000000000 - 00 0000   SOL /tmp/homebrew-simgrid-3.6.2-dz9E/simgrid-3.6.2/src/gras/DataDesc/ddt_create.c
0000000000000000 - 00 0000   SOL /tmp/homebrew-simgrid-3.6.2-dz9E/simgrid-3.6.2/src/gras/DataDesc/ddt_exchange.c
0000000000000000 - 00 0000   SOL /tmp/homebrew-simgrid-3.6.2-dz9E/simgrid-3.6.2/src/gras/DataDesc/ddt_parse.c
0000000000000000 - 00 0000   SOL /tmp/homebrew-simgrid-3.6.2-dz9E/simgrid-3.6.2/src/gras/Msg/gras_msg_exchange.c
0000000000000000 - 00 0000   SOL /tmp/homebrew-simgrid-3.6.2-dz9E/simgrid-3.6.2/src/gras/Msg/gras_msg_listener.c
0000000000000000 - 00 0000   SOL /tmp/homebrew-simgrid-3.6.2-dz9E/simgrid-3.6.2/src/gras/Msg/gras_msg_mod.c
0000000000000000 - 00 0000   SOL /tmp/homebrew-simgrid-3.6.2-dz9E/simgrid-3.6.2/src/gras/Msg/gras_msg_types.c
0000000000000000 - 00 0000   SOL /tmp/homebrew-simgrid-3.6.2-dz9E/simgrid-3.6.2/src/gras/Msg/rpc.c
0000000000000000 - 00 0000   SOL /tmp/homebrew-simgrid-3.6.2-dz9E/simgrid-3.6.2/src/gras/Msg/sg_msg.c
...


The problem is that they all point to a temp directory homebrew is using to build the package. I tried to set up path mapping, but that did not work (map /tmp/homebrew-simgrid-3.6.2-dz9E/simgrid-3.6.2/src -> /Users/krikava/Development/cpp/simgrid-3.6.2/src).

If I build the library manually (using exact same configuration) and install it to /usr/local the debugger works just fine as now the source files exist:

$  nm -a /usr/local/lib/libsimgrid.3.6.2.dylib | grep src
....
0000000000000000 - 00 0000   SOL /Users/krikava/Development/cpp/simgrid-3.6.2/src/amok/amok_base.c
0000000000000000 - 00 0000    SO /Users/krikava/Development/cpp/simgrid-3.6.2/src/gras/DataDesc/
0000000000000000 - 00 0000   SOL /Users/krikava/Development/cpp/simgrid-3.6.2/src/gras/DataDesc/cbps.c
0000000000000000 - 00 0000   SOL /Users/krikava/Development/cpp/simgrid-3.6.2/src/gras/DataDesc/datadesc.c
0000000000000000 - 00 0000   SOL /Users/krikava/Development/cpp/simgrid-3.6.2/src/gras/DataDesc/ddt_convert.c
0000000000000000 - 00 0000   SOL /Users/krikava/Development/cpp/simgrid-3.6.2/src/gras/DataDesc/ddt_create.c
0000000000000000 - 00 0000   SOL /Users/krikava/Development/cpp/simgrid-3.6.2/src/gras/DataDesc/ddt_exchange.c
0000000000000000 - 00 0000   SOL /Users/krikava/Development/cpp/simgrid-3.6.2/src/gras/DataDesc/ddt_parse.c
0000000000000000 - 00 0000   SOL /Users/krikava/Development/cpp/simgrid-3.6.2/src/gras/Msg/gras_msg_exchange.c
0000000000000000 - 00 0000   SOL /Users/krikava/Development/cpp/simgrid-3.6.2/src/gras/Msg/gras_msg_listener.c
0000000000000000 - 00 0000   SOL /Users/krikava/Development/cpp/simgrid-3.6.2/src/gras/Msg/gras_msg_mod.c
0000000000000000 - 00 0000   SOL /Users/krikava/Development/cpp/simgrid-3.6.2/src/gras/Msg/gras_msg_types.c
0000000000000000 - 00 0000   SOL /Users/krikava/Development/cpp/simgrid-3.6.2/src/gras/Msg/rpc.c
0000000000000000 - 00 0000   SOL /Users/krikava/Development/cpp/simgrid-3.6.2/src/gras/Msg/sg_msg.c
...


What do I need to configure in CDT in order to have it running with the original location that is embedded in the lib?

Thanks a lot
Previous Topic:Controlling the order of options on the command line
Next Topic:Q: how to restore a project?
Goto Forum:
  


Current Time: Fri Apr 26 13:55:18 GMT 2024

Powered by FUDForum. Page generated in 0.02903 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top