gdb) file <exe>
(gdb) load <XXX.so> #这条应该是可选的
(gdb) dir <so'dir>
(gdb) sharedlibrary <so>
(gdb) breakpoint <so中somewhere>
(gdb) run
load 是将动态库加载入内存;
sharedlibrary是将动态库的符号读入gdb,为了能找到变量和函数名;
它们本身是没明显的动作,但后面直接设置断点到动态库的函数(或行号);
在此之前要记得用dir将动态库的源码也加入搜索路径;