GNU/Linux >> Linux Esercitazione >  >> Linux

modelli di debug con GDB

se il tuo problema riguarda solo l'inserimento di punti di interruzione nel tuo codice. Ecco un piccolo frammento

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

compilare 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

altrimenti potresti semplicemente usare

(gdb) b main.cpp:16

Linux
  1. Traccia del kernel con trace-cmd

  2. Patchare un binario con Dd?

  3. GDB e problemi con i core dump

  4. Errore GDB:l'architettura selezionata i386 non è compatibile con l'architettura di destinazione segnalata i386:x86-64

  5. Umask corrente di un processo con <pid>

Installa Linux con LVM

Come automatizzare le tue risorse AWS con i modelli CloudFormation

Come creare modelli di sistema operativo Linux con KVM su Ubuntu 20.04

Come distribuire rapidamente applicazioni full-stack con i modelli di applicazione Portainer

Come utilizzo GDB in Eclipse per il debug C/C++?

Debug in pyCharm con privilegi sudo?