Anzeige:
Ergebnis 1 bis 2 von 2

Thema: Aborted anstatt Segfault

  1. #1
    Registrierter Benutzer
    Registriert seit
    08.07.2002
    Beiträge
    719

    Aborted anstatt Segfault

    Ich hab ein dickes Problem mit einem Qt/C++-Programm. Wenn ich das Programm normal starte, schmiert es bei einem bestimmten Befehl ab, und zwar nicht mit einem Segmentation Fault, sondern mit einem Aborted. Das habe ich vorher noch nicht gesehen. Interessant ist: Wenn ich das Programm im Debugger starte, läuft das Programm normal. Es beendet sich auch normal, ohne das ein Segfault eintritt. Der entsprechende Todescode sieht so aus:

    Code:
     QPainter p(&offscreen);
     p.eraseRect(QRect(QPoint(0,0),size()));
     QPointArray points(4);
     points[0] = QPoint(0,height()-1);
     points[1] = QPoint((int)(_factor / 50.0 * width() -1), height()-1);
     points[2] = QPoint((int)(width()-1 - (_factor / 50.0 * width())-1), 0);
     points[3] = QPoint(width()-1,0);
    
     for(int i = 0; i < 5; i++)
     {
      p.drawLine(0,height() / 5 * i,width(), height() / 5 * i);
      p.drawLine(width() / 5 * i, 0, width() / 5 * i, height());
     }
     p.drawCubicBezier(points); // <-- Ich vermute stark, das hiermit
                                //was nicht stimmt, weil es geht, wenn das auskommentiert ist
    
     bitBlt(this, 0,0, &offscreen);

  2. #2
    Administrator Avatar von anda_skoa
    Registriert seit
    17.11.2001
    Ort
    Graz, Österreich
    Beiträge
    5.477
    Ohne Klammerung eine Operation mit Operatoren gleicher Priorität zu machen ist schon gewagt, aber wenn eine Division dabei ist und eine der möglichen Klammerungen eine Division durch 0 ist, ist gewagt nicht mehr ganz der richtige Ausdruck.

    Ciao,
    _
    Qt/KDE Entwickler
    Debian Benutzer

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •