我编译了mongodb的源代码。我想调试mongod。我写了一个问题。我可以在db.cpp中设置断点,但我不能在request.cpp中设置断点。我不明白。 /home/john/MongoDB2.6.12/mongodb-src-r2.6.12是项目目录,该目录包含src目录,SConstruct文件等。
(gdb) set args --dbpath /home/john/MongoDB2.6.12/mongodb-src-r2.6.12/db_path/
(gdb) pwd
Working directory /home/john/MongoDB2.6.12/mongodb-src-r2.6.12.
(gdb) directory src
Source directories searched: /home/john/MongoDB2.6.12/mongodb-src-r2.6.12/src:/home/john/MongoDB2.6.12/mongodb-src-r2.6.12:$cdir:$cwd
(gdb) break src/mongo/db/db.cpp:997
Breakpoint 1 at 0xe3e365: file src/mongo/db/db.cpp, line 997.
(gdb) break src/mongo/s/request.cpp:87
No source file named src/mongo/s/request.cpp.
Make breakpoint pending on future shared library load? (y or [n]) n
注意: 1.db.cpp属于src / mongo / db /。 2. request.cpp属于src / mongo / s /.
答案 0 :(得分:0)
从查看根SConscript,它在mongosLibraryFiles中显示request.cpp。如果你想点击那个断点,你似乎需要调试mongos
而不是mongod
。