Programmabsturz kurz nach start

Alles rund um die Programmierung mit Qt
schwenk
Beiträge: 17
Registriert: 10. April 2012 21:27

Programmabsturz kurz nach start

Beitrag von schwenk »

Nachdem ich ein Programm nun schon zum 2 ten mal Programmiert habe melde ich mich bei euch. Kurz nach dem start ist mein programm abgeschmiert. darauf hin hab ichs neugeschrieben. Leider tritt der Fehler wieder auf:Das Program sturtzt mit einem kryptischen fehlercode kurtz vor dem start ab.
2DLightfieldRenderer.exe beendet, Rückgabewert -1073741515
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Re: Programmabsturz kurz nach start

Beitrag von Christian81 »

Wie immer - für soetwas gibt es einen Debugger. Und ohne Code gibts von uns nur eine Glaskugel...
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
schwenk
Beiträge: 17
Registriert: 10. April 2012 21:27

Re: Programmabsturz kurz nach start

Beitrag von schwenk »

sry. debugger hab ich auch probiert. passiert aber das gleiche. am code kanns nicht liegen,glaub ich. kommt aber noch.
franzf
Beiträge: 3114
Registriert: 31. Mai 2006 11:15

Re: Programmabsturz kurz nach start

Beitrag von franzf »

schwenk hat geschrieben:sry. debugger hab ich auch probiert. passiert aber das gleiche.
Der Debugger ist ja auch nicht dazu da, fehlerhafte Programme zu reparieren, sondern er soll dem Entwickler helfen Fehler zu finden.
Bei nem Absturz ist dann immer der Backtrace interessant, den liefert dir eben der Debugger. Mit dem Debugger kann man auch viele andere lustige Sachen anstellen - aber dazu mehr im Handbuch zu deinem Debugger :P
schwenk
Beiträge: 17
Registriert: 10. April 2012 21:27

Re: Programmabsturz kurz nach start

Beitrag von schwenk »

Das einzige was mir der Debugger liefert ist:
"During startup Programm exited with code 0x0000135"
schwenk
Beiträge: 17
Registriert: 10. April 2012 21:27

Re: Programmabsturz kurz nach start

Beitrag von schwenk »

Hab das Programm eben neu geschrieben UND mir ne sicherheitskopie erstellt.
Es ist nach ner Zeit wieder der gleiche Fehler aufgetreten UND das zurücksichern konnte daran auch nichts ändern d.h. es liegt schomal nicht am Code.
franzf
Beiträge: 3114
Registriert: 31. Mai 2006 11:15

Re: Programmabsturz kurz nach start

Beitrag von franzf »

Wenn du das Programm innerhalb von 1 1/2 Stunden neu schreiben kannst, sollte der Code überschaubar sein - poste ihn dann doch mal.
Ansonsten scheinst du noch nie mit nem Debugger gearbeitet zu haben, denn der ist IMMER hilfreich, wenn man ihn bedienen kann. Welchen hast du denn verwendet?

BTW.: Code posten nicht vergessen!
schwenk
Beiträge: 17
Registriert: 10. April 2012 21:27

Re: Programmabsturz kurz nach start

Beitrag von schwenk »

main.cpp

Code: Alles auswählen

#include <QtGui/QApplication>
#include "mainwindow.h"

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow w;
    w.show();
    
    return a.exec();
}
mainwindow.cpp

Code: Alles auswählen

#include "mainwindow.h"
#include "ui_mainwindow.h"

#include <QGraphicsScene>
#include <QImage>
#include <QGraphicsPixmapItem>
#include <QPixmap>

data Daten;

using namespace std;

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
}

MainWindow::~MainWindow()
{
    delete ui;
}

void MainWindow::on_actionLoadData_activated()
{
    QString FileName;
    FileName = ui->textEdit->toPlainText();
    ui->textEdit->insertPlainText("\nLoading File:");
    ui->textEdit->insertPlainText(FileName);
    ui->textEdit->insertPlainText("\n");
    ui->textEdit->insertPlainText(Daten.loadFile(FileName));

}

void MainWindow::on_horizontalSlider_actionTriggered(int action)
{
    QString Size;
    ui->label_2->setText(Size.number(ui->horizontalSlider->value()));
}

void MainWindow::on_actionPreview_triggered()
{
    preview = new QGraphicsScene();

    viewpreview(Daten,preview,ui->horizontalSlider->value());

    ui->graphicsView->setScene(preview);
    ui->graphicsView->show();
}


void MainWindow::on_actionNewRender_triggered()
{
    render = new QGraphicsScene();
    unsigned long scale;
    scale = ui->horizontalSlider->value();

    RenderTask = new renderer(Daten,scale);

    RenderTask->renderSp(ui->spinBox->value());

    item = new QGraphicsPixmapItem ( QPixmap::fromImage(RenderTask->getImage()));
    render->addItem(item);

    ui->graphicsView->setScene(render);
    ui->graphicsView->show();
    renderRunning = false;
    samples = 0;
}

void MainWindow::on_actionStart_Stop_Render_triggered()
{
    renderRunning = !renderRunning;
    while(renderRunning == true)
    {
        render->~QGraphicsScene();
        render = new QGraphicsScene();

        RenderTask->renderSp(ui->spinBox->value());

        item = new QGraphicsPixmapItem ( QPixmap::fromImage(RenderTask->getImage()));
        render->addItem(item);

        ui->graphicsView->setScene(render);
        ui->graphicsView->show();

        samples += ui->spinBox->value();

        QCoreApplication::processEvents();
   }

}
mainwindow.h

Code: Alles auswählen

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>

#include "data.h"
#include "preview.h"
#include "render.h"

namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT
    
public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();
    
private slots:
    void on_actionLoadData_activated();

    void on_horizontalSlider_actionTriggered(int action);

    void on_actionPreview_triggered();

    void on_actionNewRender_triggered();

    void on_actionStart_Stop_Render_triggered();

private:
    Ui::MainWindow *ui;
    QGraphicsScene* preview;
    QGraphicsScene* render;
    QImage *RenderOut;
    QGraphicsPixmapItem *item;
    renderer *RenderTask;
    bool renderRunning;
    unsigned long samples;
    QString AppSpP;
};

#endif // MAINWINDOW_H

data.cpp

Code: Alles auswählen

#include "data.h"
#include <QFile>
#include <QTextStream>
#include <QStringList>
#include <QDebug>
#include <QLocale>


using namespace std;

data::data()
{
}

edge data::getEdge(long ElNumbr)
{
    return Edges[ElNumbr];
}

long data::getSize()
{
    return Edges.size();
}

QString data::loadFile(QString FileName)
{
    QString LoadedData;         //Ausgabevariable für den TextEdit

    QFile myFile(FileName); // Create a file handle for the file
    QString line;

    if (!myFile.open(QIODevice::ReadOnly | QIODevice::Text)) // Open the file
    {
        LoadedData += "File: ";
        LoadedData += FileName;
        LoadedData += " does not exist !";
    }

    QTextStream stream( &myFile ); // Set the stream to read from myFile
    while (!stream.atEnd()){
        edge BufferEdge;

        line = stream.readLine(); // this reads a line (QString) from the file First Line (Koordinates)
        QStringList Koordinates = line.split(",");

        BufferEdge.x1 = Koordinates[0].toDouble();
        BufferEdge.y1 = Koordinates[1].toDouble();
        BufferEdge.x2 = Koordinates[2].toDouble();
        BufferEdge.y2 = Koordinates[3].toDouble();

        line = stream.readLine(); // this reads a line (QString) from the file Second Line (Color)
        QStringList Color = line.split(",");

        BufferEdge.r = Color[0].toDouble();
        BufferEdge.g = Color[1].toDouble();
        BufferEdge.b = Color[2].toDouble();

        line = stream.readLine(); // this reads a line (QString) from the file Third Line (Emission)
        QStringList Emission = line.split(" ");
        BufferEdge.e = Emission[0].toDouble();

        line = stream.readLine(); // this reads a line (QString) from the file Third Line (Glossyness)
        QStringList Glossy = line.split(" ");
        BufferEdge.gl = Glossy[0].toDouble();

        line = stream.readLine();

        LoadedData += LoadedData.number(BufferEdge.x1) + ",";
        LoadedData += LoadedData.number(BufferEdge.y1) + ",";
        LoadedData += LoadedData.number(BufferEdge.x2) + ",";
        LoadedData += LoadedData.number(BufferEdge.y2) + " // x1,y1,x2,y2 Pos of the Edge\n";

        LoadedData += LoadedData.number(BufferEdge.r) + ",";
        LoadedData += LoadedData.number(BufferEdge.g) + ",";
        LoadedData += LoadedData.number(BufferEdge.b) + " // Color r,g,b of the Edge\n";

        LoadedData += LoadedData.number(BufferEdge.e) + " // Emission of the Edge\n";

        LoadedData += LoadedData.number(BufferEdge.gl) + " // Glossyness of the Edge\n";

        LoadedData += "----------------------\n";

        Edges.push_back(BufferEdge);
    }



    myFile.close();   // Datei schließen


    return LoadedData;
}
data.h

Code: Alles auswählen

#ifndef DATA_H
#define DATA_H

#include <QtGui/QApplication>
#include <QVector>

struct edge
{
    double x1,x2,y1,y2;
    double r,g,b;
    double gl,e;
};

class data
{
private:
    QVector<edge> Edges;

public:
    data();
    edge getEdge(long ElNumbr);
    long getSize();
    QString loadFile(QString FileName);

};

#endif // DATA_H
preview.cpp

Code: Alles auswählen

#include "mainwindow.h"
#include "ui_mainwindow.h"

#include "preview.h"

void viewpreview(data Daten,QGraphicsScene *preview,long scale)
{
    preview->setBackgroundBrush(QColor(0, 0, 0, 255));

    for(long i = 0;i < Daten.getSize();i++)
    {
        QPen Pen;
        if(Daten.getEdge(i).e == 0)
        {
            Pen.setColor(QColor(Daten.getEdge(i).r*255,Daten.getEdge(i).g*255, Daten.getEdge(i).b*255, 255));
        }
        else
        {
            Pen.setColor(QColor(255, 255, 255, 255));
        }
        preview->addLine(Daten.getEdge(i).x1*scale,Daten.getEdge(i).y1*-scale,Daten.getEdge(i).x2*scale,Daten.getEdge(i).y2*-scale,Pen);
    }
}
previw.h

Code: Alles auswählen

#ifndef PREVIEW_H
#define PREVIEW_H

#include "mainwindow.h"
#include "ui_mainwindow.h"

#include <QGraphicsScene>

void viewpreview(data Daten, QGraphicsScene *preview,long scale);

#endif // PREVIEW_H
render.cpp

Code: Alles auswählen

#include "render.h"



renderer::renderer(data Daten,unsigned long scale)
{
    _Daten = Daten;
    _RenderOut = new QImage ( scale, scale, QImage::Format_RGB32);
    _scale = scale;
    QRgb value;
    value = qRgb(0, 0, 0); // 0xffbd9527
    _RenderOut->fill(value);
}

double renderer::renderSp(unsigned long samples)
{
    double time = 0;
    #pragma omp parallel for
    for(unsigned int i = 0;i < samples; i++)
    {
        int x,y;
        x = qrand() % _scale;
        y = qrand() % _scale;

            QRgb value;
            int r,g,b;
            r = qrand() % 255;
            g = qrand() % 255;
            b = qrand() % 255;

            value = qRgb(r,g,b);
            _RenderOut->setPixel(x,y,value);
    }
    return time;
}

QImage renderer::getImage()
{
    return *_RenderOut;
}
render.h

Code: Alles auswählen

#ifndef RENDER_H
#define RENDER_H

#include <QImage>
#include <data.h>
#include <qmath.h>

class renderer
{
public:
    renderer(data Daten,unsigned long scale);
    double renderSp(unsigned long samples);
    QImage getImage();

private:
    QImage *_RenderOut;
    data _Daten;
    unsigned long _scale;
};

#endif // RENDER_H
.pro File

Code: Alles auswählen

#-------------------------------------------------
#
# Project created by QtCreator 2012-04-11T14:08:46
#
#-------------------------------------------------

QT       += core gui

TARGET = 2DLightRender
TEMPLATE = app


SOURCES += main.cpp\
        mainwindow.cpp \
    render.cpp \
    raytracer.cpp \
    preview.cpp \
    data.cpp

HEADERS  += mainwindow.h \
    render.h \
    raytracer.h \
    preview.h \
    data.h

FORMS    += mainwindow.ui

CONFIG   += -static

LIBS += -fopenmp

QMAKE_CXXFLAGS += -fopenmp
raytracer.cpp

Code: Alles auswählen

#include "raytracer.h"

raytracer::raytracer()
{
}
raytracer.h

Code: Alles auswählen

#ifndef RAYTRACER_H
#define RAYTRACER_H

class raytracer
{
public:
    raytracer();

};

#endif // RAYTRACER_H
mainwindow.ui

Code: Alles auswählen

<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
 <class>MainWindow</class>
 <widget class="QMainWindow" name="MainWindow">
  <property name="geometry">
   <rect>
    <x>0</x>
    <y>0</y>
    <width>400</width>
    <height>346</height>
   </rect>
  </property>
  <property name="windowTitle">
   <string>MainWindow</string>
  </property>
  <widget class="QWidget" name="centralWidget">
   <layout class="QGridLayout" name="gridLayout">
    <item row="0" column="0">
     <widget class="QTabWidget" name="tabWidget">
      <property name="currentIndex">
       <number>0</number>
      </property>
      <widget class="QWidget" name="tab">
       <attribute name="title">
        <string>Render/Preview</string>
       </attribute>
       <layout class="QGridLayout" name="gridLayout_3">
        <item row="0" column="0">
         <widget class="QGraphicsView" name="graphicsView"/>
        </item>
       </layout>
      </widget>
      <widget class="QWidget" name="tab_2">
       <attribute name="title">
        <string>Console</string>
       </attribute>
       <layout class="QGridLayout" name="gridLayout_2">
        <item row="0" column="0">
         <widget class="QTextEdit" name="textEdit"/>
        </item>
        <item row="1" column="0">
         <widget class="QLabel" name="label">
          <property name="text">
           <string>Scale</string>
          </property>
         </widget>
        </item>
        <item row="2" column="0">
         <widget class="QSlider" name="horizontalSlider">
          <property name="maximum">
           <number>1500</number>
          </property>
          <property name="value">
           <number>512</number>
          </property>
          <property name="orientation">
           <enum>Qt::Horizontal</enum>
          </property>
         </widget>
        </item>
        <item row="3" column="0">
         <widget class="QLabel" name="label_2">
          <property name="text">
           <string>512x512</string>
          </property>
         </widget>
        </item>
        <item row="4" column="0">
         <widget class="QLabel" name="label_3">
          <property name="text">
           <string>Samples per "run":</string>
          </property>
         </widget>
        </item>
        <item row="5" column="0">
         <widget class="QSpinBox" name="spinBox">
          <property name="maximum">
           <number>100000</number>
          </property>
          <property name="singleStep">
           <number>1000</number>
          </property>
          <property name="value">
           <number>5000</number>
          </property>
         </widget>
        </item>
       </layout>
      </widget>
     </widget>
    </item>
   </layout>
  </widget>
  <widget class="QMenuBar" name="menuBar">
   <property name="geometry">
    <rect>
     <x>0</x>
     <y>0</y>
     <width>400</width>
     <height>26</height>
    </rect>
   </property>
   <widget class="QMenu" name="menu2DLightfield">
    <property name="title">
     <string>2DLightfield</string>
    </property>
    <addaction name="actionLoadData"/>
    <addaction name="actionNewRender"/>
    <addaction name="separator"/>
    <addaction name="actionPreview"/>
    <addaction name="actionStart_Stop_Render"/>
   </widget>
   <addaction name="menu2DLightfield"/>
  </widget>
  <widget class="QToolBar" name="mainToolBar">
   <attribute name="toolBarArea">
    <enum>TopToolBarArea</enum>
   </attribute>
   <attribute name="toolBarBreak">
    <bool>false</bool>
   </attribute>
  </widget>
  <widget class="QStatusBar" name="statusBar"/>
  <action name="actionLoadData">
   <property name="text">
    <string>LoadData</string>
   </property>
  </action>
  <action name="actionNewRender">
   <property name="text">
    <string>NewRender</string>
   </property>
  </action>
  <action name="actionPreview">
   <property name="text">
    <string>Preview</string>
   </property>
  </action>
  <action name="actionStart_Stop_Render">
   <property name="text">
    <string>Start/Stop Render</string>
   </property>
  </action>
 </widget>
 <layoutdefault spacing="6" margin="11"/>
 <resources/>
 <connections/>
</ui>
Ich hab einfach den mitgelieferten internen Dabugger verwendet. Aber anscheinend kann ich den ja nicht bedienen :-(.
Wie gesagt, ich glaub nicht das es am Code liegt.
Zuletzt geändert von schwenk am 11. April 2012 16:50, insgesamt 2-mal geändert.
brax
Beiträge: 208
Registriert: 11. Mai 2010 11:22

Re: Programmabsturz kurz nach start

Beitrag von brax »

Es fehlen die raytracer.cpp/.h genau wie die .ui Datei.

Was ist der "mitgelieferte interne" Debugger? Ich nehme mal an, Du benutzt QtCreator mit minGW? Ich selbst kenn mich damit nicht so aus (ich benutze das Visual Studio - was übrigens meiner Meinung nach besonders in Sachen Debugger jede andere IDE um Längen schlägt auch in der freien Express Edition), aber ich nehme mal an, dass Du den QtCreator noch irgendwie konfigurieren musst, damit der mit dem gdb (der Debugger) zusammenarbeiten kann. Vielleicht hilft der Link: http://doc.qt.nokia.com/qtcreator-2.3/c ... gines.html

Auch wenn hier jetzt jemand mit dem Code in der Lage ist, Dir zu helfen, wirst Du ohne Debugger nicht weit kommen...
schwenk
Beiträge: 17
Registriert: 10. April 2012 21:27

Re: Programmabsturz kurz nach start

Beitrag von schwenk »

Jo habse nachgereicht.
Der Debugger will beim oberen Programm leider nichtmal anlaufen, verwende GDB.
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Re: Programmabsturz kurz nach start

Beitrag von Christian81 »

Des weiteren ist das hier alles andere als minimal!
Das Programm bitte soweit abstrippen bis der Crash nicht mehr kommt - so sieht man auch selbst wo der Fehler auftritt. Code mit mehr als 100 Zeilen werden ich mir definitv nicht anschauen.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
brax
Beiträge: 208
Registriert: 11. Mai 2010 11:22

Re: Programmabsturz kurz nach start

Beitrag von brax »

Erstens: Christian81 hat recht. Ist ganz schön lang alles in allem.

Ich dachte mir aber, ich lass es mal laufen und schau, in welcher Zeile genau es abstürzt.

Die mainwindow.h, die Du gepostet hast, ist die mainwindow.cpp, mainwindow.h fehlt. War jetzt nicht so schwer, die aus der cpp zu extrahieren, aber Spaß macht es nicht...

So, nun ist die Frage, was muss man tun, damit es crasht? Scheint erstmal zu laufen. Allerdings passiert nichts, egal welche Action ich clicke, ob ich am Slider oder an der Spnibox spiele. Ich sehe nur weiße Flächen....
schwenk
Beiträge: 17
Registriert: 10. April 2012 21:27

Re: Programmabsturz kurz nach start

Beitrag von schwenk »

Habs jetzt wirklich auf das aller wesentlichste Reduziert und es stürtzt immernoch ab bevor es startet, ich hab echt keine Ahnung woran es liegen könnte:
mainwindow.h

Code: Alles auswählen

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT
    
public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();
    
private slots:
    void on_actionLoadData_activated();

    void on_horizontalSlider_actionTriggered(int action);

    void on_actionPreview_triggered();

    void on_actionNewRender_triggered();

    void on_actionStart_Stop_Render_triggered();

private:
    Ui::MainWindow *ui;
};
mainwindow.cpp

Code: Alles auswählen

#include "mainwindow.h"
#include "ui_mainwindow.h"

using namespace std;

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
}

MainWindow::~MainWindow()
{
    delete ui;
}

void MainWindow::on_actionLoadData_activated()
{
}

void MainWindow::on_horizontalSlider_actionTriggered(int action)
{
}

void MainWindow::on_actionPreview_triggered()
{
}


void MainWindow::on_actionNewRender_triggered()
{
}

void MainWindow::on_actionStart_Stop_Render_triggered()
{
}
schwenk
Beiträge: 17
Registriert: 10. April 2012 21:27

Re: Programmabsturz kurz nach start

Beitrag von schwenk »

Hier nochn auszug aus dem CompilerLog:

Code: Alles auswählen

16:54:01: Führe Build-Schritte für Projekt 2DLightRender aus...
16:54:01: Starte "C:\QtSDK\mingw\bin\mingw32-make.exe" clean
C:/QtSDK/mingw/bin/mingw32-make.exe -f Makefile.Debug clean
mingw32-make.exe[1]: Entering directory `C:/Users/Sebastian/Programme/2DLightRender-build-desktop-Qt_4_8_0_for_Desktop_-_MinGW__Qt_SDK__Debug'
del debug\moc_mainwindow.cpp
del ui_mainwindow.h
del debug\main.o debug\mainwindow.o debug\render.o debug\raytracer.o debug\preview.o debug\data.o debug\moc_mainwindow.o
mingw32-make.exe[1]: Leaving directory `C:/Users/Sebastian/Programme/2DLightRender-build-desktop-Qt_4_8_0_for_Desktop_-_MinGW__Qt_SDK__Debug'
C:/QtSDK/mingw/bin/mingw32-make.exe -f Makefile.Release clean
mingw32-make.exe[1]: Entering directory `C:/Users/Sebastian/Programme/2DLightRender-build-desktop-Qt_4_8_0_for_Desktop_-_MinGW__Qt_SDK__Debug'
del release\moc_mainwindow.cpp
del ui_mainwindow.h
------------------------------------------------------------------------------------------------------------------------
C:\Users\Sebastian\Programme\2DLightRender-build-desktop-Qt_4_8_0_for_Desktop_-_MinGW__Qt_SDK__Debug\release\moc_mainwindow.cpp konnte nicht gefunden werden
del release\main.o release\mainwindow.o release\render.o release\raytracer.o release\preview.o release\data.o release\moc_mainwindow.o
C:\Users\Sebastian\Programme\2DLightRender-build-desktop-Qt_4_8_0_for_Desktop_-_MinGW__Qt_SDK__Debug\ui_mainwindow.h konnte nicht gefunden werden
mingw32-make.exe[1]: Leaving directory `C:/Users/Sebastian/Programme/2DLightRender-build-desktop-Qt_4_8_0_for_Desktop_-_MinGW__Qt_SDK__Debug'
C:\Users\Sebastian\Programme\2DLightRender-build-desktop-Qt_4_8_0_for_Desktop_-_MinGW__Qt_SDK__Debug\release\main.o konnte nicht gefunden werden
16:54:03: Der Prozess "C:\QtSDK\mingw\bin\mingw32-make.exe" wurde normal beendet.
------------------------------------------------------------------------------------------------------------------------
16:54:03: Unveränderte Konfiguration, qmake-Schritt wird übersprungen.
16:54:03: Starte "C:\QtSDK\mingw\bin\mingw32-make.exe" 
C:/QtSDK/mingw/bin/mingw32-make.exe -f Makefile.Debug
mingw32-make.exe[1]: Entering directory `C:/Users/Sebastian/Programme/2DLightRender-build-desktop-Qt_4_8_0_for_Desktop_-_MinGW__Qt_SDK__Debug'
c:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\uic.exe ..\2DLightRender\mainwindow.ui -o ui_mainwindow.h
g++ -c -fopenmp -g -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_GUI_LIB -DQT_CORE_LIB -DQT_HAVE_MMX -DQT_HAVE_3DNOW -DQT_HAVE_SSE -DQT_HAVE_MMXEXT -DQT_HAVE_SSE2 -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN -I"..\..\..\..\QtSDK\Desktop\Qt\4.8.0\mingw\include\QtCore" -I"..\..\..\..\QtSDK\Desktop\Qt\4.8.0\mingw\include\QtGui" -I"..\..\..\..\QtSDK\Desktop\Qt\4.8.0\mingw\include" -I"..\..\..\..\QtSDK\Desktop\Qt\4.8.0\mingw\include\ActiveQt" -I"debug" -I"." -I"..\2DLightRender" -I"." -I"..\..\..\..\QtSDK\Desktop\Qt\4.8.0\mingw\mkspecs\win32-g++" -o debug\main.o ..\2DLightRender\main.cpp
g++ -c -fopenmp -g -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_GUI_LIB -DQT_CORE_LIB -DQT_HAVE_MMX -DQT_HAVE_3DNOW -DQT_HAVE_SSE -DQT_HAVE_MMXEXT -DQT_HAVE_SSE2 -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN -I"..\..\..\..\QtSDK\Desktop\Qt\4.8.0\mingw\include\QtCore" -I"..\..\..\..\QtSDK\Desktop\Qt\4.8.0\mingw\include\QtGui" -I"..\..\..\..\QtSDK\Desktop\Qt\4.8.0\mingw\include" -I"..\..\..\..\QtSDK\Desktop\Qt\4.8.0\mingw\include\ActiveQt" -I"debug" -I"." -I"..\2DLightRender" -I"." -I"..\..\..\..\QtSDK\Desktop\Qt\4.8.0\mingw\mkspecs\win32-g++" -o debug\mainwindow.o ..\2DLightRender\mainwindow.cpp
g++ -c -fopenmp -g -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_GUI_LIB -DQT_CORE_LIB -DQT_HAVE_MMX -DQT_HAVE_3DNOW -DQT_HAVE_SSE -DQT_HAVE_MMXEXT -DQT_HAVE_SSE2 -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN -I"..\..\..\..\QtSDK\Desktop\Qt\4.8.0\mingw\include\QtCore" -I"..\..\..\..\QtSDK\Desktop\Qt\4.8.0\mingw\include\QtGui" -I"..\..\..\..\QtSDK\Desktop\Qt\4.8.0\mingw\include" -I"..\..\..\..\QtSDK\Desktop\Qt\4.8.0\mingw\include\ActiveQt" -I"debug" -I"." -I"..\2DLightRender" -I"." -I"..\..\..\..\QtSDK\Desktop\Qt\4.8.0\mingw\mkspecs\win32-g++" -o debug\render.o ..\2DLightRender\render.cpp
g++ -c -fopenmp -g -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_GUI_LIB -DQT_CORE_LIB -DQT_HAVE_MMX -DQT_HAVE_3DNOW -DQT_HAVE_SSE -DQT_HAVE_MMXEXT -DQT_HAVE_SSE2 -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN -I"..\..\..\..\QtSDK\Desktop\Qt\4.8.0\mingw\include\QtCore" -I"..\..\..\..\QtSDK\Desktop\Qt\4.8.0\mingw\include\QtGui" -I"..\..\..\..\QtSDK\Desktop\Qt\4.8.0\mingw\include" -I"..\..\..\..\QtSDK\Desktop\Qt\4.8.0\mingw\include\ActiveQt" -I"debug" -I"." -I"..\2DLightRender" -I"." -I"..\..\..\..\QtSDK\Desktop\Qt\4.8.0\mingw\mkspecs\win32-g++" -o debug\raytracer.o ..\2DLightRender\raytracer.cpp
g++ -c -fopenmp -g -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_GUI_LIB -DQT_CORE_LIB -DQT_HAVE_MMX -DQT_HAVE_3DNOW -DQT_HAVE_SSE -DQT_HAVE_MMXEXT -DQT_HAVE_SSE2 -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN -I"..\..\..\..\QtSDK\Desktop\Qt\4.8.0\mingw\include\QtCore" -I"..\..\..\..\QtSDK\Desktop\Qt\4.8.0\mingw\include\QtGui" -I"..\..\..\..\QtSDK\Desktop\Qt\4.8.0\mingw\include" -I"..\..\..\..\QtSDK\Desktop\Qt\4.8.0\mingw\include\ActiveQt" -I"debug" -I"." -I"..\2DLightRender" -I"." -I"..\..\..\..\QtSDK\Desktop\Qt\4.8.0\mingw\mkspecs\win32-g++" -o debug\preview.o ..\2DLightRender\preview.cpp
g++ -c -fopenmp -g -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_GUI_LIB -DQT_CORE_LIB -DQT_HAVE_MMX -DQT_HAVE_3DNOW -DQT_HAVE_SSE -DQT_HAVE_MMXEXT -DQT_HAVE_SSE2 -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN -I"..\..\..\..\QtSDK\Desktop\Qt\4.8.0\mingw\include\QtCore" -I"..\..\..\..\QtSDK\Desktop\Qt\4.8.0\mingw\include\QtGui" -I"..\..\..\..\QtSDK\Desktop\Qt\4.8.0\mingw\include" -I"..\..\..\..\QtSDK\Desktop\Qt\4.8.0\mingw\include\ActiveQt" -I"debug" -I"." -I"..\2DLightRender" -I"." -I"..\..\..\..\QtSDK\Desktop\Qt\4.8.0\mingw\mkspecs\win32-g++" -o debug\data.o ..\2DLightRender\data.cpp
C:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\moc.exe -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_GUI_LIB -DQT_CORE_LIB -DQT_HAVE_MMX -DQT_HAVE_3DNOW -DQT_HAVE_SSE -DQT_HAVE_MMXEXT -DQT_HAVE_SSE2 -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN -I"..\..\..\..\QtSDK\Desktop\Qt\4.8.0\mingw\include\QtCore" -I"..\..\..\..\QtSDK\Desktop\Qt\4.8.0\mingw\include\QtGui" -I"..\..\..\..\QtSDK\Desktop\Qt\4.8.0\mingw\include" -I"..\..\..\..\QtSDK\Desktop\Qt\4.8.0\mingw\include\ActiveQt" -I"debug" -I"." -I"..\2DLightRender" -I"." -I"..\..\..\..\QtSDK\Desktop\Qt\4.8.0\mingw\mkspecs\win32-g++" -D__GNUC__ -DWIN32 ..\2DLightRender\mainwindow.h -o debug\moc_mainwindow.cpp
g++ -c -fopenmp -g -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_GUI_LIB -DQT_CORE_LIB -DQT_HAVE_MMX -DQT_HAVE_3DNOW -DQT_HAVE_SSE -DQT_HAVE_MMXEXT -DQT_HAVE_SSE2 -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN -I"..\..\..\..\QtSDK\Desktop\Qt\4.8.0\mingw\include\QtCore" -I"..\..\..\..\QtSDK\Desktop\Qt\4.8.0\mingw\include\QtGui" -I"..\..\..\..\QtSDK\Desktop\Qt\4.8.0\mingw\include" -I"..\..\..\..\QtSDK\Desktop\Qt\4.8.0\mingw\include\ActiveQt" -I"debug" -I"." -I"..\2DLightRender" -I"." -I"..\..\..\..\QtSDK\Desktop\Qt\4.8.0\mingw\mkspecs\win32-g++" -o debug\moc_mainwindow.o debug\moc_mainwindow.cpp
g++ -mthreads -Wl,-subsystem,windows -o debug\2DLightRender.exe debug/main.o debug/mainwindow.o debug/render.o debug/raytracer.o debug/preview.o debug/data.o debug/moc_mainwindow.o  -L"c:\QtSDK\Desktop\Qt\4.8.0\mingw\lib" -lmingw32 -lqtmaind -fopenmp -lQtGuid4 -lQtCored4 
mingw32-make.exe[1]: Leaving directory `C:/Users/Sebastian/Programme/2DLightRender-build-desktop-Qt_4_8_0_for_Desktop_-_MinGW__Qt_SDK__Debug'
16:54:41: Der Prozess "C:\QtSDK\mingw\bin\mingw32-make.exe" wurde normal beendet.
Bei der durch "-------------" markierten stelle stimmt doch irgendwas nicht ?!
brax
Beiträge: 208
Registriert: 11. Mai 2010 11:22

Re: Programmabsturz kurz nach start

Beitrag von brax »

Also ich kann keinen Crash produzieren (aber ich benutze wie gesagt auch einen anderen Compiler). Das Programm startet und nun (mit der richtigen mainwindow.h) passiert auch was.

Die Ausgabe vom Compiler, die Du gepostet hat bezieht sich darauf, dass er beim "make clean" keinen Release build findet (weil Du immer nur debug builds baust). Das ist nicht das Problem.
Antworten