Programm zeilenweise ausführen (tracen) mit C++ und codelite

  • Hallo,

    folgende Anfängerfrage: Mit Python kann ich ein Programm zeilenweise auf dem Raspi ablaufen lassen, geht das auch mit C++ z.B. im Debug-Modus (Breakpoints)? Ich programmiere mit Codelite und schaffe es nicht, speziell Programm für den Raspy, an einem Breakpoint anzuhalten und somit eine Teilausführung zu realisieren (z.B. Servobewegungen tracen). Das geht wohl nur bei Interpretersprachen, oder :/??


    Vielen Dank

    Ralf

  • > Das geht wohl nur bei Interpretersprachen, oder :/??

    Nein, das geht auch mit C++. Dazu startet man das Programm mit einem Debugger wie GDB.


    In den meisten IDEs ist der Debugger schon eingebaut. Wie das bei Codelite aussieht weiss ich allerdings nicht.

  • Hallo vielen Dank. Bei herkömmlichen Programmen funktioniert das prima mit dem Debuggen. Ich werde nochmals suchen - vielleicht gibt es noch Tipps von Anderen wo ich mit meinem Problem ansetzen könnte.

    (mit Codelite kann ich sogar auf dem Pi Zero entwickeln - und das sehr komfortabel)

  • Ich kenne Codelite nicht aber um deinen Code richtig mit gdb zu debuggen musst du die Optimierungen ausschalten "-O0" und auch gleich gdb debugginghilfen einbauen "-ggdb".


    Dafür wird es bei Codelite sicher irgendwo in den Einstellungen einen Schalter geben, sinngemäß "alle Optimierungen abschalten" und "Debuggen"

  • Hallo,

    ja das geht einfach zu ändern pro Projekt. Habe jetzt -ggdb;-std=c++11 eingestellt.

    Compiler ist Gnu g++

    Linker Options -l wiringPi


    Fehlermeldung:

    Debugger exited with the following error string:

    "No executable file specified.

    Use the "file" or "exec-file" command."



    Mein Testprogramm:


    #include <stdio.h>

    #include <wiringPi.h>

    #include <iostream>

    #include <unistd.h>



    Programm läuft, Servo arbeitet. Nur Breakpoints (debugging) funktioniert nicht.


    Ich arbeite mit einem Pi Zero W

  • bug-reporter

    Hat den Titel des Themas von „Programm zeilenweise ausgführen (tracen) mit C++ ??“ zu „Programm zeilenweise ausführen (tracen) mit C++ und codelite“ geändert.
  • Problem gelöst. Mit GDB im Kommandomodus habe ich festgestellt, dass das Programm ab Zeile 19 abstürzt wenn der GDB nicht mit sudo aufgerufen wurde.