GNU/Linux >> Tutoriels Linux >  >> Linux

modèles de débogage avec GDB

si votre problème consiste simplement à placer un point d'arrêt dans votre code. Voici un petit extrait

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

compiler avecg++ -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

sinon, vous pourriez simplement utiliser

(gdb) b main.cpp:16

Linux
  1. Patcher un binaire avec Dd ?

  2. Déboguer à distance un processus Linux depuis Windows avec gdb et gdbserver :que faut-il exactement côté Windows ?

  3. Comment obtenir une trace de pile pour C++ en utilisant gcc avec des informations de numéro de ligne ?

  4. Comment attraper Ctrl + C sur Windows et Linux avec Qt

  5. Comment analyser le fichier core dump d'un programme avec GDB lorsqu'il a des paramètres de ligne de commande ?

Installer Linux avec LVM

Comment automatiser vos ressources AWS avec les modèles CloudFormation

Comment créer des modèles de système d'exploitation Linux avec KVM sur Ubuntu 20.04

Comment déployer rapidement des applications full-stack avec les modèles d'application Portainer

Comment utiliser GDB dans Eclipse pour le débogage C/C++ ?

Déboguer dans pyCharm avec les privilèges sudo ?