首页 文章

使用gdb进行C特定调试技巧[关闭]

提问于
浏览
6

使用gdb调试C程序有哪些你最喜欢的技巧?

对所有技巧感兴趣但也

  • 如何从gdb中的对象上调用方法(可能是虚拟的)

  • 检查STL对象(非常打印它们)

  • 阻止gdb使用continue进入STL代码

  • 处理内联,线程,tcmalloc(或自定义分配器)

  • 在不同的会话中保留gdb命令的历史记录

3 回答

  • 2

    因为我发现如何使用〜/ .gdbinit中的Hook来美化GDB的输出(列表,回溯等),所以我不能没有那个......

    这是一个blogentry,它显示了如何美化代码输出并在你的注释之间添加一些"divider":Beautify GDB

    我已经美化了我的回溯,非常有用,可以找到现在发生错误的位置...也许我会在我访问它们时上传所需的文件(我现在不在工作)

  • 0

    调试C时尝试DDD; DDD可以动态加载共享库的源代码,并在调试时显示多个变量 .

  • 3

    1 .

    set print object
    

    这样可以通过查看vtable来评估对象层次结构 . 因此,您可以看到基类的引用/指针的类型 .

    2 .

    获取系统库的调试信息或未提取的文件夹(最重要的是:pthread和libstdc),因为否则调试多线程应用程序在gdb中不能很好地工作 .

相关问题