当前位置:  技术问答>linux和unix

GDB 高级应用

    来源: 互联网  发布时间:2016-08-25

    本文导语:  有没有人知道,怎么才能使用gdb  在进入一个函数时,吐出一条log。 要自动吐出。 例: fun_1() { fun_2(); fun_3(); fun_2(); } fun_2() { fun_3(); } 在程序运行时,自动吐出 call fun_1 call fun_2 call fun_3 call fun_3 call fun_2 ...

有没有人知道,怎么才能使用gdb  在进入一个函数时,吐出一条log。
要自动吐出。
例:

fun_1()
{
fun_2();
fun_3();
fun_2();
}
fun_2()
{
fun_3();
}
在程序运行时,自动吐出
call fun_1
call fun_2
call fun_3
call fun_3
call fun_2

|
好像要用calls

|
break fun_1
commands
printf "call fun_1n"
continue
end

没试过

|
只知道怎么跟踪系统调用
strace

|
关注ing。。。。。。

|
在每个函数入口处输出这样的log就可以了。。。

|
GDB不是万能的

|
我也是这样想的

|
gdb的backtrace命令可以查看函数调用的关系

|
建议使用
#ifdef _DEBUG_
ptinf("进入函数");
#endif

在编译调试版本时,
在Makefile中添加编译选项中添加 -D_DEBUG_

|
写一个脚本将所有的printf改为
#ifdef _DEBUG_
printf("进入函数");
#endif
不就行了吗

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 如何使用linux下gdb来调试python程序
  • 使用gcc gdb的大牛进来说说gdb的强大之处在哪。我刚学linux了,vim我确实体会到了其强大之处。而对gcc gdb,体会不到gdb这工具的强大之处。
  • 请教 make gdb-6.4 出现 make[4]: Entering directory `/tmp/gdb-6.4/gdb/doc'
  • GDB调试 GDB挂了。。。
  • gdb 如何调试带命令行参数的程序 如 gdb a.out arg1,arg2
  • 请问gdb是不是只能调试gcc编译的程序,在unix下用其它编译器编译的程序是不是不一定能用gdb调试的?
  • GDB调试 GDB挂了。。。 iis7站长之家
  • linux gdb: 我在一台机器上编译的程序用GDB可以调试,把程序放到另外一台机器上调试,调试信息就没有了 这是什么原因呢?
  • 写调试器(像gdb)的一般思路是什么
  • gdb 使用问题请教
  • gdb的问题,请教,会者不难,快来拿分
  • gdb调试动态链接库
  • 在rh9上无法使用gdb是怎么回事呢
  • gdb高手请指教
  • gdb如何进行调试?
  • 请问,有人研究过gdb-insight源码吗?
  • 在linux下除了gdb外还有没其他好用的调试器?
  • gdb调试
  • Linux下gdb如何追踪进入子进程??急急7777777777777
  • 如何编译gdb
  • 怎样在windows中编译生成gdb


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3