Mi gdb es GNU gdb Red Hat Linux (6.3.0.0-1.162.el4rh). Y no puedo depurar plantillas. ¿Cómo puedo depurar plantillas con este depurador?plantillas de depuración con GDB
Respuesta
si su problema es solo colocar un punto de interrupción en su código. Aquí hay un pequeño fragmento
ejemplo: 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));
}
compila con 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
de lo contrario es posible que utilices
(gdb) b main.cpp:16
Estaba pasando un momento difícil tratando de obtener la depuración de gdb en trabajo con plantillas código usando gdb 6.8 con código compilado con gcc versión 4.4.1
Después de rasgar mi cabello por un tiempo, encontré que mágicamente comenzó a funcionar perfectamente cuando agregué el modificador -fPIC a los argumentos de compilación g ++.
Hola Bo y Ferd, tengo curiosidad por saber cómo -fPIC, es decir, el código de posición independiente, te ha ayudado a depurar programas de plantilla en C++. Estaré agradecido si amablemente comparte sus ideas. – indranil
- 1. depuración Código de C++ con plantillas y STL con gdb
- 2. gdb - depuración con tubería
- 3. Depuración de un pase llvm con gdb
- 4. Depuración de bibliotecas desmontadas con gdb
- 5. Instanciaciones de plantillas de depuración
- 6. Depuración con Eclipse CDT y GDB
- 7. Depuración usando gdb - Mejores prácticas
- 8. Depuración de código de usuario en xv6 con gdb
- 9. Incapaz de aplicación multiproceso de depuración con GDB
- 10. Trucos de depuración específicos de C++ con gdb
- 11. Compilación de GDB para la depuración remota
- 12. Depuración con GDB - cómo escapar de un bucle
- 13. Visual studio + depuración remota de gdb
- 14. Cómo interpretar direcciones backtrace para la depuración con GDB
- 15. ¿Alguien probó la depuración inversa en gdb?
- 16. mensaje GDB raro cuando la depuración de programa en C++
- 17. no se encontraron símbolos de depuración al usar gdb
- 18. Tutorial de depuración de subprocesos múltiples para GDB y C
- 19. ¿Usar GDB sin símbolos de depuración en x86?
- 20. ndk-gdb con múltiples libs
- 21. depuración de plantillas underscore.js es difícil sin números de línea
- 22. ¿Cómo se configura la bandera de depuración de GDB con cmake?
- 23. problema de gdb con la redirección stdin
- 24. No hay símbolos de depuración en gdb incluso cuando se compila con la bandera -g
- 25. Depuración del programa MinGW con gdb en Windows, no termina en la falla de afirmación
- 26. usando getopt con gdb
- 27. pthread_cond_timedwait colgado con gdb
- 28. Técnicas de depuración sin herramientas de depuración
- 29. Depurar qemu con gdb
- 30. La depuración cruzada remota gdb falla con "Remoto 'g' la respuesta del paquete es demasiado larga"
Su pregunta no es lo suficientemente clara. Los fragmentos de código, lo que ha hecho, lo que no funciona; todo eso podría ayudarnos a ayudarlo. –