GNU/Linux >> Tutoriales Linux >  >> Linux

plantillas de depuración con GDB

si su problema es solo colocar un punto de interrupción en su código. Aquí hay un pequeño fragmento

ej.: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));
}

compilar 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, podría usar

(gdb) b main.cpp:16

Linux
  1. Seguimiento del kernel con trace-cmd

  2. Parchear un binario con Dd?

  3. Depuración remota de un proceso de Linux desde Windows con gdb y gdbserver:¿qué se necesita exactamente en el lado de Windows?

  4. ¿Cómo obtener un seguimiento de pila para C ++ usando gcc con información de número de línea?

  5. Cómo capturar Ctrl+C en Windows y Linux con Qt

Instalar Linux con LVM

Cómo automatizar sus recursos de AWS con plantillas de CloudFormation

Cómo crear plantillas de sistema operativo Linux con KVM en Ubuntu 20.04

Cómo implementar aplicaciones completas rápidamente con las plantillas de aplicaciones de Portainer

¿Cómo uso GDB en Eclipse para la depuración de C/C++?

¿Depuración en pyCharm con privilegios de sudo?