Unbekannter Fehler auf Stack



  • ich würde den gcc/clang(neuere Bauart) AddressSanitizer benutzen - der liefert nach meinen Erfahrungen bessere Ergebnisse



  • @manni66
    Das die maximale Größe des Arrays erreicht wurde war auch mein erster Gedanke. Nachdem ich dies aber um einen Faktor 100 gößer machte kam die identische Fehlermeldung, woraus ich schließe das es sich nicht um diese Abfrage handeln kann. Ich habe viele ofstreams im Einsatz. Der in welche ich Daten mittels meinem Befehl print leite zeigt keine Meldung.

    @gast3
    was genau meinst du?

    Grüße

    p.s.
    Ich habe mir ein Buch nur zu C++ debugging gekauft in welchem ich derzeit viel lese. Da dieses Problem keine Eile hat überlege ich es evtl. auf meine To Do Liste für später zu setzen und erst noch weitere Grundlagen über Debugging zu erlernen.



  • Du weißt also nicht, mit welchem Exitcode das Programm beendet wurde.



  • Es fehlt noch die Information:

    -welche IDE/Kompiler?
    -welches Betriebssystem?

    ...woraus ich schließe das es sich nicht um diese Abfrage handeln kann.

    Warum lässt du das ganze nicht einfach im Debugger laufen und schaust nach wo du landest? oder gibst vor dem exit mit std::cout/printf etwas aus - dann musst du nicht vermuten oder auf etwas schließen

    was genau meinst du?

    ich meine den AddressSanitizer von clang oder gcc (falls du damit kompilierst) - google hilft immer



  • cpp_Jungspund schrieb:

    @manni66
    Das die maximale Größe des Arrays erreicht wurde war auch mein erster Gedanke. Nachdem ich dies aber um einen Faktor 100 gößer machte kam die identische Fehlermeldung, woraus ich schließe das es sich nicht um diese Abfrage handeln kann.

    Identische Fehlermeldung? Ich dachte, es kommt gar keine Fehlermeldung!

    bau doch einfach folgendes vor das exit(EXIT_FAILURE); ein

    std::cout << "Ich beende mich jetzt, nAttractor = " << nAttractor << std::endl;
    

    Alternativ könntest du auch mal einfach schauen, wie der Exitcode deines Programms ist!

    Ach ja, wir haben dir schon mehrfach geraten, deinen Code ordentlich einzurücke, also nochmal:
    RÜCKE DEINEN CODE ANSTÄNDIG EIN! (GROSSSCHREIBUNG SCHEINT HIER NOTWENDIG!)
    (benutze gerne Tools wie clang-format oder was auch immer dir dein Editor bietet)



  • Mit Fehlermeldung meine ich die von sgcheck bei valgrind.

    Die Meldung in der if Abfrage wird nicht gezeigt.

    Ja Code Formatierung. Bei neuem Code versuche ich mir das anzugewöhnen. Das war noch ein alter Code Schnipsel.

    Als Editor nutze ich vim. Ob es da für C++ eine gute .vimrc gibt müsste ich mal googeln. Eine eigene kann ich mir aus Zeitgründen nicht bauen und Blödsinn wie IDE's verwende ich aus Prinzip nicht, sondern arbeite nur mit der Konsole und make Files.

    Grüße

    p.s.

    Mein verwendetes OS:
    Linux version 4.7.0-kali1-amd64 (devel@kali.org) (gcc version 5.4.1 20160803 (Debian 5.4.1-1) ) #1 SMP Debian 4.7.5-1kali3 (2016-09-29)

    Mein Compiler:
    gcc version 6.1.1 20160802 (Debian 6.1.1-11)
    das ich g++-6 nutze wird über mein make File gewährleistet. Muss irgendwann mal einstellen, dass das global verwendet wird aber wie es halt so ist mit der Zeit und gefühlt 1000 Projekten.... 😞



  • Ja Code Formatierung. Bei neuem Code versuche ich mir das anzugewöhnen. Das war noch ein alter Code Schnipsel.

    google mit "c++ code formatter"

    mit http://format.krzaq.cc/ (Style auf "file" stellen) kannst du deinen Code formatieren - wenigstens den Teil den du hier reinstellst

    ...und Blödsinn wie IDE's verwende ich aus Prinzip nicht

    in welcher Welt verdienst du dein Geld?
    Normale Entwickler müssen/können mit vielen verschiedenen Buildsystemen und IDEs arbeiten - Rosinen rauspicken kenne ich nur von Studenten

    ...gcc version 6.1.1

    wunderbar - dann kannst du den eingebauten AddressSanitizer (https://en.wikipedia.org/wiki/AddressSanitizer) verwenden
    nimm mal "-O -g -fsanitize=address" mit in deine Kompilersettings auf - ist vergleichbar mit valgrind aber ist schneller, arbeitet mit Instrumentisierung und hat so gut wie keine False-Positivs



  • Rosinen rauspicken kenne ich nur von Studenten...

    oder von Leuten die seit 1000 Jahren in der gleichen Firma arbeiten 🙂



  • Gast3 schrieb:

    ...arbeitet mit Instrumentisierung...

    Na das ist ja mal eine interessante Wortschöpfung. Respekt.



  • sorry - Instrumentierung



  • Gast3 schrieb:

    sorry - Instrumentierung

    Auch das hört sich wie irgendwas aus dem Orchesterbereich an. "Die Instrumentierung bei Jopi Hesters Operetten" oder sowas in der Art.



  • is ja guuuut: Instrumentation



  • Als Instrumentation (auch Instrumentierung) bezeichnet man die Verteilung der Stimmen einer musikalischen Komposition auf die einzelnen Instrumente.

    Wikipedia - wobei wir wieder bei Jopi Hester wären. 🙂 Der Kreis schließt sich.



  • wie würdest du denn (https://github.com/google/sanitizers/wiki/AddressSanitizer) "...The tool consists of a compiler instrumentation module..." Übersetzen - minimale Wortanzahl



  • ja damit hast du schon irgendwie recht: https://www.dict.cc/?lp=ende&s=instrumentation
    Damit ist auch nun Schluss mit dieser ausufernden Diskussion. Ich hab mir heute mittag lediglich einen Spaß und etwas Unterhaltung machen wollen. Nix für ungut. Bin ein notorischer Tunichtgut. 🙄



  • @cpp_Jungspund

    hast du deinen Fehler jetzt gefunden? hat dir der AddressSanitizer ein Problem aufgezeigt?

    btw: hier hast du noch einen Post von dir unbeantwortet stehen lassen: https://www.c-plusplus.net/forum/p2509958#2509958 - entspricht nicht ganz der Netiquette



  • Hi

    Dieses und auch einige andere Fragen sind für mich noch offen, aber nicht vergessen. Ich finde nur nicht immer die Zeit da ich beuflich sehr eingespannt bin und wie beim Eisenhower Prinzip die Zeit einteile. Ich melde mich wieder.

    Grüße



  • Gast3 schrieb:

    google mit "c++ code formatter"

    mit http://format.krzaq.cc/ (Style auf "file" stellen) kannst du deinen Code formatieren - wenigstens den Teil den du hier reinstellst

    Hi

    Nachdem ich etwas recherchiert habe bin ich auf das Programm astyle gestoßen und es ist wirklich super 🙂

    Habs mir installiert, die Nutzung ist super simpel und ich konnte all meinen Code sauber fomatieren. Ich lasse zukünftig jedes cpp file darüber laufen und versuche so zu coden wie astyle es formatiert.

    Grüße

    p.s.
    Zum Thema: Hab den Bug noch nicht, muss mich aber gerade leider um andere (auch C++) Sachen kümmern. Ich meld mich wieder.


Anmelden zum Antworten