Cygwin 终端 GDB 列表功能不起作用
Cygwin Terminal GDB list function not working
我最近下载了带有 gdb、gcc 和 g++ 的 cygwin 终端 32。我写了一个简单的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 路径变量。如有任何帮助或建议,我们将不胜感激。
您需要 gcc -g code.c
来注释调试信息。否则调试器无法工作。
我有一个类似的问题,你必须从 cygwin gcc-debuginfo 或 gdb-debuginfo 或两者安装
我最近下载了带有 gdb、gcc 和 g++ 的 cygwin 终端 32。我写了一个简单的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 路径变量。如有任何帮助或建议,我们将不胜感激。
您需要 gcc -g code.c
来注释调试信息。否则调试器无法工作。
我有一个类似的问题,你必须从 cygwin gcc-debuginfo 或 gdb-debuginfo 或两者安装