2015-11-30 3 views
0

Недавно я загрузил терминал cygwin 32 бит с gdb, gcc и g ++. Я написал простую программу c и назвал ее code.c. Это происходит следующим образом:Cygwin Terminal Функция списка GDB не работает

#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 для того, чтобы вывести с исходного кода, я не получил никакого вывода, и когда я набрал list main я получил следующее:

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

Моя проблема заключается в том, что команда список работал ранее и почему-то перестала работать правильно. Я думаю, что это может быть проблемой с моей установкой cygwin или, возможно, я добавил c: \ cygwin \ bin в мою переменную Windows Path вручную. Любая помощь или предложения будут оценены.

ответ

2

Вам нужно gcc -g code.c, чтобы аннотировать информацию об отладке. В противном случае отладчик не сможет работать.

+0

Спасибо, что исправил его. Я отвечу на ваш ответ, как только Stack Overflow позволит мне –

Смежные вопросы