Ich möchte ein SharedLib debuggen, die von Main aufgerufen wird. Ich habe die Quellen der SharedLib und von Main. Ich kompiliere und verbinde Main und SharedLib mit der Option -g3. Die Variablen PATH und LD_LIBRARY_PATH enthalten /PathToSharedLib. Ich setze einen Haltepunkt in b FileOfSharedLib.c um NNN.gdb: Wie Debuggen einer freigegebenen Bibliothek
(gdb) file /PathToMain/Main
Reading symbols from /PathToMain/Main...done.
(gdb) set directories /PathToSourceOfSharedLib
(gdb) set solib-search-path /PathToSharedLib
(gdb) sharedlibrary SharedLib
No loaded shared libraries match the pattern `SharedLib`
(gdb) b FileOfSharedLib.c:NNN
No source file named FileOfSharedLib.c.
Make breakpoint pending on future shared library load? (y or [n]) y
(gdb) run
Es hört nie an dem Unterbrechungspunkt auf, der mehrfach von Main aufgerufen wird. Ich sehe es durch printf-Anweisungen im Log der SharedLib. Es sieht so aus, als ob die SharedLib von gdb nicht berücksichtigt wird.
überprüfte ich die sharedlib und die FileOfSharedLib.c:
(gdb) file /PathToSharedLib/SharedLib
Reading symbols from /PathToSharedLib/SharedLibl...done.
(gdb) b FileOfSharedLib.c:123
Breakpoint 1 at 0x43d7f: file FileOfSharedLib.c, line 123.
(gdb)
ich Ubuntu 14.04.3 LTS leite (GNU/Linux 3.13.0-66-generic i686) mit gcc 4.8.4 und gdb 7.7 .1.