> On Jul 15, 2015, at 6:31 AM, Guangya Liu <[email protected]> wrote: > > Hi Mesos dev: > > I'm now trying to use gdb-mesos-master.sh to debug mesos master but found > that I cannot hit my break point, can someone help to see if there are > something wrong with my steps? > > The following are my steps: > > *1) Start gdb-mesos-master.sh* > root@devstack007:/home/gyliu/src/mesos/m1/mesos/build# > ./bin/gdb-mesos-master.sh --ip=9.111.242.143 --work_dir=/var/lib/mesos > --log_dir=/root/mesos-log > GNU gdb (Ubuntu 7.7.1-0ubuntu5~14.04.2) 7.7.1 > Copyright (C) 2014 Free Software Foundation, Inc. > License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html >> > This is free software: you are free to change and redistribute it. > There is NO WARRANTY, to the extent permitted by law. Type "show copying" > and "show warranty" for details. > This GDB was configured as "x86_64-linux-gnu". > Type "show configuration" for configuration details. > For bug reporting instructions, please see: > <http://www.gnu.org/software/gdb/bugs/>. > Find the GDB manual and other documentation resources online at: > <http://www.gnu.org/software/gdb/documentation/>. > For help, type "help". > Type "apropos word" to search for commands related to "word"... > Reading symbols from > /home/gyliu/src/mesos/m1/mesos/build/src/.libs/lt-mesos-master...done. > *2) Set break point* > (gdb) b master.cpp:2498 > No source file named master.cpp. > Make breakpoint pending on future shared library load? (y or [n]) n
I'd bet that you don't have enough debug information for GDB to figure things out. Make sure to add "-ggdb3" to CFLAGS and CXXFLAGS when you build Mesos. If you are making an RPM build, I've found that letting rpmbuild generate a debuginfo package works really well with gdb. > (gdb) dir /home/gyliu/src/mesos/m1/mesos/src/master/ > Source directories searched: > /home/gyliu/src/mesos/m1/mesos/src/master:$cdir:$cwd > (gdb) b Master::accept > Function "Master::accept" not defined. > Make breakpoint pending on future shared library load? (y or [n]) y > Breakpoint 1 (Master::accept) pending. > (gdb) i b > Num Type Disp Enb Address What > 1 breakpoint keep y <PENDING> Master::accept > (gdb) b master.cpp:2498 > No source file named master.cpp. > Make breakpoint pending on future shared library load? (y or [n]) y > Breakpoint 2 (master.cpp:2498) pending. > *3) Start mesos master* > (gdb) r > Starting program: > /home/gyliu/src/mesos/m1/mesos/build/src/.libs/lt-mesos-master > --ip=9.111.242.143 --work_dir=/var/lib/mesos --log_dir=/root/mesos-log > Traceback (most recent call last): > File "/usr/share/gdb/auto-load/usr/lib/x86_64-linux-gnu/libstdc++. > so.6.0.19-gdb.py", line 63, in <module> > from libstdcxx.v6.printers import register_libstdcxx_printers > > > > > *4) Start up mesos slave in another console* > > *5) Start up python test framework, the code for mesos master did not stop > at my break point* > Thanks, > > Guangya
