gpt4 book ai didi

c - 使用 GDB 找出我的 C 程序挂起的位置?

转载 作者:太空狗 更新时间:2023-10-29 15:14:58 26 4
gpt4 key购买 nike

我正在尝试使用 GDB 调试我的 C 程序以找出它挂起的位置。

作为 GDB 的新手,我可以运行它,但不知道如何让 GDB 停止并告诉我程序卡在哪里。

我试过 CTRL+C 来终止它,但它只显示我

Program received signal SIGINT, Interrupt.

GDB程序卡死怎么办?

最佳答案

嗯,基本的 gdb 用法是:

  • 使用-g 标志编译
  • 分两步运行:$ gdb yourProg 然后,在 GDB shell 中:gdb) run [arguments]
  • 当程序挂起或终止时,尝试 gdb) where,查看错误发生的位置。
  • 还可以使用 list 来获取您想要的任何内容的概览

More on gdb here
或引用this handy cheat-sheet的 GDB 命令。

要知道在哪里设置断点,只需使用 -g 编译并执行以下操作:

 $ gdb a.out        //assuming you didn't specify a -o
gdb) run [args]

如果在运行开始后你没有得到你的(gdb) console-thingy,你的程序可能包含死锁。按 ctrl+c 修复此问题,然后继续:

gdb) bt            //get a back-trace of where things whent wrong
//or
gdb) where

要继续逐步调试,只需使用s,例如(引用备忘单...我不会在这里列出所有命令)

这应该让您知道在哪里寻找问题

关于c - 使用 GDB 找出我的 C 程序挂起的位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19636832/

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