GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Debuggen von Vorlagen mit GDB

wenn Ihr Problem nur darin besteht, Haltepunkte in Ihrem Code zu platzieren. Hier ist ein kleiner Ausschnitt

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

kompilieren Sie mit 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

andernfalls könnten Sie einfach

verwenden
(gdb) b main.cpp:16

Linux
  1. Eine Binärdatei mit Dd patchen?

  2. Remote-Debuggen eines Linux-Prozesses von Windows mit gdb und gdbserver:Was genau wird auf der Windows-Seite benötigt?

  3. Wie erhalte ich einen Stack-Trace für C++ mit gcc mit Zeilennummerinformationen?

  4. Wie debuggt man den Linux-Kernel mit GDB und QEMU?

  5. Debuggen des Linux-Kernels mit QEMU

Installieren Sie Linux mit LVM

So automatisieren Sie Ihre AWS-Ressourcen mit CloudFormation-Vorlagen

So erstellen Sie Linux-Betriebssystemvorlagen mit KVM unter Ubuntu 20.04

Schnelle Bereitstellung von Full-Stack-Anwendungen mit Portainer-Anwendungsvorlagen

Wie verwende ich GDB in Eclipse für C/C++-Debugging?

Debuggen in pyCharm mit sudo-Berechtigungen?