gpt4 book ai didi

debugging - 你如何使用 gdb 来调试你的代码?

转载 作者:行者123 更新时间:2023-12-04 01:05:01 24 4
gpt4 key购买 nike

作为开发人员,您如何使用 gdb 来跟踪代码中的错误?你使用什么技巧让你的生活更轻松?

最佳答案

一些提示:

  • 使用图形前端(kdbg 相当不错,ddd 至少比命令行 gdb 好,kdevelop 有一个不错的 gdb 前端但有一些 bgs,nemiver 看起来也很不错,但仍在开发中)
  • 确保所有重要部分都有调试符号和源代码(你自己的代码和一些系统库)
  • 在 RedHat 上,你可以安装 -debuginfo 包,让符号和源代码神奇地出现在调试器中 - 真的很酷,因为你可以查看 libc 函数调用等。
  • 在 Debian/Ubuntu 上,您可以安装 -dbg 包来获取符号;尽管
  • 为系统包安装适当的源文件似乎很困难
  • 我倾向于在不应该到达的地方,或者在我想要研究的地方(某种重量级断点)添加 assert() 和 abort() 调用
  • 理想情况下,assert() 或 abort() 调用应该包含在一些方法或宏中,这些方法或宏只在 Debug 版本中启用它们,或者更好的是仅在设置了某个 env var 时才启用它们
  • 为 SIGSEGV 和 SIGABRT 安装信号处理程序;我个人在安装处理程序之前检查是否设置了某个环境变量;在处理程序中,我执行一个硬编码的外部命令,该命令通常位于 ~/.local/bin/中;然后该命令可能会启动 kdbg 并将其附加到崩溃的应用程序。瞧,调试器会在您的应用程序做坏事的那一刻弹出。
  • 如果您使用单元测试,您可以类似地在测试用例失败时附加调试器,然后检查应用程序。
  • 关于debugging - 你如何使用 gdb 来调试你的代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/140217/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com