2012-01-11 16 views
11

Zainstalowałem obsługę Eclipse CDT i CDT Visual C++ (z Yoxos Marketplace).C++: Jak debugować aplikację C++ skompilowaną przy użyciu narzędzia "Microsoft Visual C++" toolchain w środowisku Eclipse?

To pozwala mi skompilować i uruchomić aplikację C++, jednak nie mogę tego debugować.

Tak, zainstalowałem plik binarny systemu Windows gdb, używając dystrybucji mingw. Teraz, gdy próbuję debugować, w konsoli wyświetlany jest następujący komunikat: Nie załadowano tabeli symboli. Użyj polecenia "file".

Moje niewykształcone przypuszczenie jest takie, że gdb nie może debugować plików binarnych wyprodukowanych przez kompilator Visual C++.

Moje pytanie brzmi - jak mogę debugować kod C++ w środowisku Eclipse zbudowanym przy użyciu toolchaina Visual C++?

Moja okolica:

  • Windows 7 64 bity
  • Eclipse Indigo (najnowsza wersja w tej chwili)
  • Visual Studio 2010, stąd Visual C++ ver 10
  • GNU gdb (GDB) 7.3.1
  • Nie wiem, jak uzyskać wersję CDT, ale mam ten jar - org.eclipse.cdt_8.0.0.201109151620.jar, więc domyślam się, że wersja jest 8.0

Dzięki.

P.S.

Przejście na kompilator g ++ na MinGW jest poza zakresem tego pytania, więc proszę - nie sugeruj go jako odpowiedzi.

+0

Symbole nie są przechowywane w pliku wykonywalnym, ale w osobnej bazie danych, prawdopodobnie w nieudokumentowanym formacie. –

+0

To pliki PDB - dobrze znane programistom Visual C++. – mark

Odpowiedz

2

O ile wiem, nie można debugować aplikacji Visual C++ za pomocą gdb, który jest obsługiwany tylko przez wtyczkę CDT.

Debugger dla biblioteki narzędziowej Visual C++ nazywa się CDB i trzeba szukać narzędzia, które może z niego korzystać. Na pewno Visual C++ IDE (nawet z Express Edition) może być użyty do debugowania aplikacji skompilowanych pod Eclipse + CDT. Myślę, że również niektóre nocne kompilacje CodeBlocks IDE mogą współpracować z CDB.

+0

Szukam debugowania kodu wewnątrz Eclipse. Czy jest tam integracja CDB? Od przeglądania internetu wnioskuję, że czegoś takiego nie ma, ale może twoje źródła są lepsze. – mark

+1

Jak już wspomniałem, CDT nie obsługuje debuggera kompatybilnego z Visual C++. Obsługuje tylko gdb. Musisz użyć Visual C++ IDE lub WinDbg (z Microsoft Debugging Tools) lub może Codeblocks do debugowania aplikacji skompilowanej przez MS toolchain. Nie można tego zrobić w Eclipse. – Zuljin

+0

-1 dla niespójnej i wprowadzającej w błąd odpowiedzi; CDT nie jest jedynym narzędziem obsługującym gdb. Jest odwrotnie. – Nick

Powiązane problemy