debugger Nachricht interpretieren



  • Hi,

    ich verwende den GNU debugger und habe ein Problem mit meinem Program, weshalb ich den debugger verwende. Hat mir auch schon treue Dienste geleistet, aber jetzt habe ich eine Nachricht aus der ich nicht schlau werde.

    Kompiliert wird mit g++ (version 4.4.1) und folgenden Linker-flags: -fopenmp -pg -a -lboost_program_options -lboost_iostreams -lz (unter Linux)

    Wenn ich jetzt das Program laufen lasse ist alles was im Stack auftaucht:

    mcount() at ../sysdeps/x86_64/_mcount.S:34

    Kann mir jemand sagen wo ich mehr Information zu dieser Nachricht finden kann? Oder mir gar diesen Fall erklären?

    Sorry, wenn ich nicht mehr Info bieten kann, aber ich hoffe alles relevante gesagt zu haben.

    Danke und Gruß,
    Christian


  • Administrator

    Hast du auch alles mit dem Flag -g (Options for Debugging Your Program or GCC) kompiliert?

    Grüssli



  • Ja. 'tschuldige, das hatte ich unterschlagen.



  • Ah, habe die Lösung gefunden: Ich habe std::swap in operator= auf das Objekt, daß den operator implementiert, aufgerufen - selten dämlich! Das verhindert, daß der Debugger je den Punkt findet, an dem abgebrochen wird: Der count läuft dann gewissermaßen über.

    Ist trotzdem machmal gut solche Anfragen im Forum zu stellen, um neu nachzudenken.

    Danke!


Anmelden zum Antworten