How to use ddd with root

Hello,
I have some root scripts that compile and run some c++/root code. I’d like to debug this, and managed to do this with gdb by using .L name.C+g and connect gdb to the pid of the running process.
However, if I want to use ddd, I cant get it to work. ddd asks me for a program, if I choose the compiled .so file, ddd complains, that it cant find name_C_ACLIC_dict.cxx, which is referenced from name.so. I looked at the compilation process, and it seems that name_C_ACLIC_dict.cxx is created during the compilation, but deleted again.

So, how can I use ddd with root? (maybe its enough to prevent the dict from being deleted)

Cheers,
Thomas

Hi,

Setting gDebug=3 (from TError.h) before you call .L name.C+g should prevent the deletion. Though you said ddd is asking for a program - but name_C_ACLIC_dict.cxx is a source file…

Cheers, Axel.

No, the dict.cxx is still deleted.
ddd asks for a programm to watch, and it only accepts .so files, so I select the name.so file. However, in that name.so file the source-file name_C_ACLIC_dict.cxx is referenced. So ddd tries to access that source file, in order to understand whats inside my name.so. But as the …-dict.cxx is deleted, ddd complains, that it cannot find the …_dict.cxx file.

Cheers,
Thomas

Hi,

You need to actually set gDebug to 6 or more to avoid the deletion of the temporary files.

Cheers,
Philippe.

Hi,

sorry - just came back to fix that but Philippe was faster :slight_smile: Thanks!

Axel.