Я использовал Visual Studio 2013 для компиляции и отладки программы на Си. Затем скомпилировал ту же программу в gcc и попытался отладить, но по какой-то причине я не могу перейти к определенной строке. Сообщение, которое я получаю, не является строкой номер_строки в текущем файле.
Вот код C
#include<stdio.h>
int main() {
while (1) {
}
printf("Hello World!");
printf("Bye World!");
return 0;
}
Теперь для вышеуказанного кода в VS 2013 я могучтобы переместить желтую стрелку и заставить ее указывать на функцию печати, но в случае GDB я не могу использовать jump для перехода к функции печати.
Я использовал gcc -g file.c -o file для компиляции моего C-файла. Я предполагаю, что поскольку это бесконечный цикл, некоторая оптимизация показывает только инструкции до цикла.
Редактировать:
Я использовал команды GDB:
1) GDB 2) файл exec_name3) разбить номер строки 4) запустить 5) перейти номер строки
Если я изменю цикл на
int x = 1;
while (x) {
}
Прыжок работает нормально