gSystem->Load("mySharedLibrary.so") can not load debug info

Hi,

I’m trying to debug a shared library in root cint with Emacs-gdb.

The steps is

  1. emacs
  2. (in emcas) gdb root
  3. (in emacs) run
  4. (switch to root cint) gSystem->Load(“mySharedLibrary.so”)
  5. (switch to emacs)
  6. (in emacs) break classname::function()
    get error message
    Function “***::***” not defined.

I tried same procedures on other platform(RACF/root4star), It works, the break point can be set.
But on my local platform, It can not load debug info.
It looks like I didn’t build my root correct.

BTW, debugging a compiled code linked against mySharedLibrary.so goes well.

Please help me to figure out what is wrong with my debugging procedure, and how to fix?

Thanks!
wanbing


Please read tips for efficient and successful posting and posting code

ROOT Version: root6
Platform: CentOS 7
Compiler: gcc9


Most likely "mySharedLibrary.so” was not compiled with debug symbol (-g).

Hi @pcanal,

“mySharedLibrary.so” is compiled with debug symbol. Even I tried to set breakpoint in TTree::TTree, the same error happens.

Try
break 'classname::function'
or try to tab complete?

humm

(in emcas) gdb root

If you meant that literally then you need to use:

(in emcas) gdb root.exe

or set gdb to follow to the child process of a fork.

Hi @pcanal

Great, “gdb root.exe” works. Thanks!
I didn’t know there is difference between root and root.exe.

Wanbing

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.