Я пытаюсь использовать gdb
для отладки моего приложения C ++ в Eclipse Version: 2019-06 (4.12.0)
. Проблема в том, что я получаю следующее в трассировке стека, хотя отладчик должен остановиться в начале main:
<terminated, exit value: 0>gdb (7.6.1)
Если я использую какие-либо переменные в исходном коде, они не отображаются в Variables
tab.
Код, с которым я тестирую отладчик, является типичной программой "hello world":
#include <iostream>
using namespace std;
int main() {
cout << "Hello World";
return 0;
}
У меня установлен Mingw32 g ++, и я могу скомпилировать без проблем. Я попытался запустить gdb в командной строке, и он показывает, что он установлен: GNU gdb (GDB) (Cygwin 8.1.1-1) 8.1.1
.
У меня есть переменная окружения: MINGW_HOME
, указывающая на родительский каталог, содержащий bin
и другие каталоги.
В Debug Configurations
-> Debugger
у меня значение GDB debugger
установлено на gdb
и GDB command file
установлено на .gdbinit
В чем может быть проблема ? В моей системе Cygwin
, mingw32
и mingw64
установлены ранее, и я думаю, что отладчик может использовать Cygwin
вместо mingw32
. Это проблема? Как я могу убедиться, что все мои сборки и отладки выполняются только с помощью mingW32
?
Используемые инструменты: GCC Assembler
GCC Archiver
GCC C++ Compiler
GCC C Compiler
MinGW C Linker
MinGW C++ Linker
РЕДАКТИРОВАТЬ: Я удалил Cygwin и изменил его окружение указывает на C:\MinGW\bin
. Теперь, если я проверю gdb
следующие отпечатки: GNU gdb (GDB) 7.6.1
вместо Cygwin: GNU gdb (GDB) (Cygwin 8.1.1-1) 8.1.1
. Я попытался снова запустить отладчик, но все та же проблема.