GDB 其实可以很强大!【From My Baidu Space】

GDB 其实可以很强大!

  • 空间
 

不得不说,除了竞.价.排.名,度娘算是个不错的地方。

刚去回答一个关于gdb调试动态链接的问题。发现自己其实掌握的并不好,再加上一年没做linux下的项目了。很多命令都就着大米饭吃掉了。去找了个帖子,整理一下。

一、动态库的编译

             编码实现 .h .cpp。编译动态库:g++ get.cpp -shared -g -DDEBUG -o libggg.so 

二、主调函数的编译。

              动态库已和主调在同一目录:  g++ pk.cpp -o app -Wall -g -libggg  

             如果需要指定动态库所在目录:g++ pk.cpp -o app -Wall -g -libggg -L`pwd`

 

三、代码跟踪

              断点到动态库函数调用处,list命令查看动态库的源码。

 

 

找不到动态库gdb提示:

/data/example/c/app: error while loading shared libraries: libggg.so: cannot open shared object file: No such file or directory 
Program exited with code 0177. 

 

posted @ 2017-04-06 10:40  dfdqzp  阅读(232)  评论(0编辑  收藏  举报