Я использую Ubuntu 14,04Почему gdb не загружает libdl поверх sharedlibrady? и heaptrack не работает
я попробовать использовать https://github.com/KDE/heaptrack для обнаружения утечек памяти в программе моей запущенной C++
когда сценарий heaptrack оболочка работает
gdb --batch-silent -n -iex="set auto-solib-add off" -p $pid \
--eval-command="sharedlibrary libdl" \
--eval-command="call (void) dlmopen(0x00, \"$LIBHEAPTRACK_INJECT\", 0x002)" \
--eval-command="sharedlibrary libheaptrack_inject" \
--eval-command="call (void) heaptrack_inject(\"$pipe\")" \
--eval-command="detach"
я вижу следующее сообщение об ошибке
No symbol "dlmopen" in current context.
No symbol "heaptrack_inject" in current context.
и когда я запускаю gdb вручную
gdb -p XXX
(gdb) sharedlibrary libdl
я вижу другие сообщения об ошибке
No loaded shared libraries match the pattern `libdl'.
но libdl.so существует в моей файловой системе
# find/-name libdl*.so
/usr/lib/debug/lib/x86_64-linux-gnu/libdl-2.19.so
/usr/lib/x86_64-linux-gnu/libdl.so
/lib/x86_64-linux-gnu/libdl-2.19.so
Почему GDB не загружайте libdl над sharedlibrary командой?