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 列表功能不起作用的主要内容,如果未能解决你的问题,请参考以下文章
AngularJS、SweetAlert.js 在自定义指令中不起作用
使用 cygwin 编译器的定制 win32 窗口上的 OpenGL 不起作用