Hallo Leute,
ich habe ein QDialog (unter QT-Designer) mit mehrere Objekte (Knöpfe, Dials usw. ) und es funktioneirt problemlos. Wenn ich aber 2 Knöpfe mehr einfüge, bekomme ich dann ein Speicherzugrifsfehler. Die Application funktioneirt auch einwand frei. Nur wenn ich dieses Fenster aufrufe bekomme ich dann den Fehler. Es liegt wahrscheinlich daran , dass es ein Zuordnungsproblem gibt. Leider habe ich aber keine Ahnung wo es auftaucht. Kann jemand vielleicht mir helfen?
Gruß,
Gago.
Speicherzugrifsfehler
-
- Beiträge: 40
- Registriert: 4. Oktober 2004 16:26
-
- Beiträge: 1213
- Registriert: 2. Dezember 2004 10:54
- Kontaktdaten:
Also aus Erfahrung würde ich behaupten, das du einen Zeiger aufrufst, bevor dieser definiert/erstellt wurde.
Ansonsten wie Spring-Daniel sagte:
gdb programm
gdb> run
--> Hier Speicherzugriffsfehler
gdb> back
--> Hier fast ziemlich genaue localisierung des Absturzes.
Und dann mal zusammen mit deinem Code posten, ich bin sicher das das kurz und schmerzlos zu lösen ist.
Ansonsten wie Spring-Daniel sagte:
gdb programm
gdb> run
--> Hier Speicherzugriffsfehler
gdb> back
--> Hier fast ziemlich genaue localisierung des Absturzes.
Und dann mal zusammen mit deinem Code posten, ich bin sicher das das kurz und schmerzlos zu lösen ist.
Hi,
diese sind die Fehler. Ich vermute, dass irgendwas bei den Aufruf der Bibliothek nicht stimmt. Habe ich da recht?
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 16384 (LWP 4000)]
0x00000002 in ?? ()
(gdb) back
#0 0x00000002 in ?? ()
#1 0x402754f6 in QApplication::sendPostedEvents(QObject*, int) ()
from /usr/lib/qt3/lib/libqt-mt.so.3
#2 0x40275376 in QApplication::sendPostedEvents() ()
from /usr/lib/qt3/lib/libqt-mt.so.3
#3 0x4021bd9d in QEventLoop::processEvents(unsigned) ()
from /usr/lib/qt3/lib/libqt-mt.so.3
#4 0x40288980 in QEventLoop::enterLoop() ()
from /usr/lib/qt3/lib/libqt-mt.so.3
#5 0x40288876 in QEventLoop::exec() () from /usr/lib/qt3/lib/libqt-mt.so.3
#6 0x4027496f in QApplication::exec() () from /usr/lib/qt3/lib/libqt-mt.so.3
#7 0x0805221f in main ()
Code: Aufrufe des Fensters
void idtLab::openPanel() {
formManPanel *formMan = new formManPanel( this, "", TRUE );
formMan->show();
}
Vielen Dank für Ihre Bemühungen.
diese sind die Fehler. Ich vermute, dass irgendwas bei den Aufruf der Bibliothek nicht stimmt. Habe ich da recht?
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 16384 (LWP 4000)]
0x00000002 in ?? ()
(gdb) back
#0 0x00000002 in ?? ()
#1 0x402754f6 in QApplication::sendPostedEvents(QObject*, int) ()
from /usr/lib/qt3/lib/libqt-mt.so.3
#2 0x40275376 in QApplication::sendPostedEvents() ()
from /usr/lib/qt3/lib/libqt-mt.so.3
#3 0x4021bd9d in QEventLoop::processEvents(unsigned) ()
from /usr/lib/qt3/lib/libqt-mt.so.3
#4 0x40288980 in QEventLoop::enterLoop() ()
from /usr/lib/qt3/lib/libqt-mt.so.3
#5 0x40288876 in QEventLoop::exec() () from /usr/lib/qt3/lib/libqt-mt.so.3
#6 0x4027496f in QApplication::exec() () from /usr/lib/qt3/lib/libqt-mt.so.3
#7 0x0805221f in main ()
Code: Aufrufe des Fensters
void idtLab::openPanel() {
formManPanel *formMan = new formManPanel( this, "", TRUE );
formMan->show();
}
Vielen Dank für Ihre Bemühungen.
-
- Beiträge: 1213
- Registriert: 2. Dezember 2004 10:54
- Kontaktdaten:
-
- Beiträge: 1213
- Registriert: 2. Dezember 2004 10:54
- Kontaktdaten:
Hey, genau das Problem habe ich auch!
Ich verwende den Qt Designer als Entwicklungsumgebung; wenn ich etwas an den Fenstern verändere, verabschiedet sich das Programm mit einem Speicherzugriffsfehler, wenn es versucht, das veränderte Fenster zu erstellen.
Mein Programm ist der KVideoencoder; den Quelltext erhaltet ihr auf http://de.kde-apps.org/content/download ... 31385&id=2
Das Problem sitzt eindeutig hier:
Nachdem ich das Fenster mit new erstellt habe, kann trotzdem nicht darauf zugriffen werden. Woran kann das liegen?
Ich verwende den Qt Designer als Entwicklungsumgebung; wenn ich etwas an den Fenstern verändere, verabschiedet sich das Programm mit einem Speicherzugriffsfehler, wenn es versucht, das veränderte Fenster zu erstellen.
Mein Programm ist der KVideoencoder; den Quelltext erhaltet ihr auf http://de.kde-apps.org/content/download ... 31385&id=2
Das Problem sitzt eindeutig hier:
Code: Alles auswählen
(...)
VideoFilterWindow *VFilterWnd;
VFilterWnd = new VideoFilterWindow();
if( VFilterWnd->exec() == QDialog::Accepted )
{
(...)