Mój gdb to GNU gdb Red Hat Linux (6.3.0.0-1.162.el4rh). I nie mogę debugować szablonów. Jak mogę debugować szablony za pomocą tego debuggera?Szablony do debugowania z GDB
Odpowiedz
jeśli Twoim problemem jest właśnie umieszczenie punktu przerwania w kodzie. Oto mały fragment
ex: main.cpp
#include <iostream>
template <typename T>
void coin(T v)
{
std::cout << v << std::endl;
}
template<typename T>
class Foo
{
public:
T bar(T c)
{
return c * 2;
}
};
int main(int argc, char** argv)
{
Foo<int> f;
coin(f.bar(21));
}
skompilować z g ++ -O0 -g main.cpp
gdb ./a.out
(gdb) b Foo<int>::bar(int)
Breakpoint 2 at 0x804871d: file main.cpp, line 16.
(gdb) b void coin<int>(int)
Breakpoint 1 at 0x804872a: file main.cpp, line 6.
(gdb) r
... debugging start
inaczej można po prostu użyć
(gdb) b main.cpp:16
Ciężko mi było próbować debugować gdb do pracy z szablonami kod przy użyciu gdb 6.8 z kodem skompilowanym z gcc w wersji 4.4.1
Po zgraniu moich włosów na chwilę odkryłem, że magicznie zaczął działać idealnie, gdy dodam przełącznik -fPIC do argumentów kompilacji g ++.
Witam Bo i Ferd, jestem ciekawa, w jaki sposób -fPIC, tj. Niezależny od pozycji kod, pomógł ci zdebugować programy szablonów w C++. Będę wdzięczny, jeśli podzielicie się swoimi spostrzeżeniami. – indranil
- 1. Biblioteka debugowania rdzy z GDB
- 2. Całkowicie wyczyść valgrind podczas debugowania z gdb
- 3. gdb: (nie znaleziono symboli debugowania)
- 4. C++ konkretne triki do debugowania za pomocą gdb
- 5. Jak używać GDB w Eclipse do debugowania C/C++?
- 6. Szablony do wąsowania: szablony zagnieżdżone
- 7. Debugowanie qemu z gdb
- 8. Program oparty na argumencie debugowania C z gdb
- 9. Czego potrzebuję do debugowania pthreadów?
- 10. Co jest potrzebne do korzystania z obsługi gdb 7 w celu debugowania programów w języku Python?
- 11. Jak ustawić flagę debugowania GDB za pomocą cmake?
- 12. Skonfiguruj program Qt Creator do pracy z GDB
- 13. nodejs, jak to zrobić debugowania za pomocą GDB
- 14. Jak uniemożliwić GDB załadowanie symbolu debugowania dla (dużej) biblioteki?
- 15. GDB: Jak sprawdzić bieżący numer linii podczas debugowania?
- 16. Narzędzie do debugowania KVO/powiązań w kakao
- 17. Pojedynczy krok do wyjścia z funkcji gdb
- 18. Jak korzystać z debugowania ruby w Emacs?
- 19. Jak korzystać z wersji debugowania biblioteki libc
- 20. Używanie perlbrew do budowania perla z symbolami debugowania
- 21. gdb - debugowanie z rurą
- 22. Przenoszenie C++ do C# - szablony
- 23. Instalowanie bibliotek debugowania MS do zdalnego debugowania
- 24. Jak mogę wprowadzić polecenia do polecenia gdb podczas debugowania za pomocą Eclipse CDT?
- 25. Korzystanie gdb do konwersji adresów na linii
- 26. jak dodać gdb do cygwin
- 27. Uczyń szablony django surowymi
- 28. Python: debugowanie z gdb (na OSX)
- 29. gcc/gdb: Jak umieścić bezwzględną ścieżkę do pliku źródłowego w informacji debugowania?
- 30. Problem z debugowanym wyjściem aplikacji w gdb
Twoje pytanie nie jest wystarczająco jasne. Fragmenty kodu, co zrobiłeś, co nie działa - wszystko to może nam pomóc. –