Hello all I am trying to set a breakpoint during the modex exchange process so I can see the data being passed for different transport type. I assume that this is being done in the context of orted since this is part of process launch.
Here is what I did: (All of this pertains to the master branch and NOT the 1.10 release) 1. Built and installed OpenMPI like this: (on two nodes) ./configure --enable-debug --enable-debug-symbols --disable-dlopen && make && sudo make install 2. Compiled a tiny hello-world MPI program, mpitest (on both nodes) 3. Since the modex exchange is a macro now, (it used to be a function call before), I have to put the breakpoint inside a line of code in the macro; I chose the function mca_base_component_to_string(). I hoped that choosing --enable-debug-symbols and --disable-dlopen will make this function visible, but may be I am wrong. Do I need to explicitly add a DLSPEC to libtools? 4. I launched gdb like this: gdb mpirun set args -np 2 -H bigMPI,smallMPI -mca btl tcp,self ./mpitest b mca_base_component_to_string run This told me that the breakpoint is not present in the executable and gdb will try to load a shared object if needed; I chose 'yes'. However, the breakpoint never triggers and the program runs to completion and exits. I have two requests: 1. Please help me understand what I am doing wrong. 2. Is there a (perhaps a sequence of) switch to 'configure' that will create the most debuggable image, while throwing all performance optimization out of the window? This would be a great thing for a developer. Thank you Durga We learn from history that we never learn from history.