Cygwin 终端 GDB 列表功能不起作用

Posted

技术标签:

【中文标题】Cygwin 终端 GDB 列表功能不起作用【英文标题】:Cygwin Terminal GDB list function not working 【发布时间】:2015-11-30 15:35:58 【问题描述】:

我最近下载了带有 gdb、gcc 和 g++ 的 32 位 cygwin 终端。我编写了一个简单的 c 程序并将其命名为 code.c。如下:

#include <stdio.h>

int main()

  int i;
  for(i = 0; i<10; i++)
  
    printf("Hello, World!\n");
  

首先我打开 cygwin 终端,导航到相应的目录,然后运行命令:

gcc code.c

这工作正常,它在同一目录中创建了一个名为 a.exe 的可执行文件。 然后我将可执行文件的符号加载到 gdb 并使用以下命令初始化 gdb:

gdb -q ./a.exe

这也可以正常工作,因为它说: Reading symbols from ./a.exe...done.

然后我测试了一些gdb的功能。

disassemble main 输出了正确的汇编指令,run 正确运行了程序。

但是,当我尝试 list 以输出 c 源代码时,我没有收到任何输出,当我输入 list main 时,我收到以下信息:

1        usr/src/debug/cygwin-2.3.1-1/winsup/cygwin/crt0.c: No such file or directory

我的问题是 list 命令以前工作过,但由于某种原因停止正常工作。我认为这可能是我的 cygwin 安装的问题,或者我手动将 c:\cygwin\bin 添加到我的 Windows Path 变量中。任何帮助或建议将不胜感激。

【问题讨论】:

【参考方案1】:

您需要gcc -g code.c 来注释调试信息。否则调试器无法工作。

【讨论】:

感谢修复。一旦 Stack Overflow 允许我接受您的回答,我将接受您的回答【参考方案2】:

我有一个类似的问题,你必须从 cygwin gcc-debuginfo 或 gdb-debuginfo 或两者安装

【讨论】:

以上是关于Cygwin 终端 GDB 列表功能不起作用的主要内容,如果未能解决你的问题,请参考以下文章

pkg-config 在 Cygwin 上不起作用

AngularJS、SweetAlert.js 在自定义指令中不起作用

为啥这个 jquery 终端命令功能不起作用?

使用 cygwin 编译器的定制 win32 窗口上的 OpenGL 不起作用

在cygwin上使用`std :: process :: Command`执行`find`不起作用

为啥 apt-get 功能在 Mac OS X v10.9 (Mavericks) 的终端中不起作用?