Qt Konsolenprogramm stürtzt unter Debian ab

Verschiedenes zu Qt
Antworten
webmaster1987
Beiträge: 73
Registriert: 2. September 2006 18:30
Wohnort: Köln
Kontaktdaten:

Qt Konsolenprogramm stürtzt unter Debian ab

Beitrag von webmaster1987 »

Ich habe versucht auf einem Debiansystem (ohne Grafiches Interface) ein statich gelinktes Qt Programm auszuühren.

Jedoch kommt immer die Meldung das des einen Speicherzugrifsfehler gab (auch bei einem Hello World Programm). Kompiliert wurde das Programm unter openSUSE 10.2. Kann mir da jemand weiterhelfen wie ich das Programm auf diesem Debiansystem zum laufen bringe? kann ich evtl. einfach alle nötigen Liberys mit in den Ordner Packen oder so etwas?
DOUBLE ist wie FLOAT nur in HD
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Selbst geschrieben? Debuggermeldung?
webmaster1987
Beiträge: 73
Registriert: 2. September 2006 18:30
Wohnort: Köln
Kontaktdaten:

Beitrag von webmaster1987 »

ja selbst geschrieben auf suse systemen läuft es auch soweit ich das getestet habe wie ich debugmeldungen ausgebe weiß ich leider nicht :oops: aber ich denke ein normales hello world programm sollte laufen oder (tuts ja schließlich nicht)
DOUBLE ist wie FLOAT nur in HD
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Dann zeig uns wenigstens den Code...
webmaster1987
Beiträge: 73
Registriert: 2. September 2006 18:30
Wohnort: Köln
Kontaktdaten:

Beitrag von webmaster1987 »

Code: Alles auswählen

#include <stdio.h>

int main(int argc,char* argv[]) {
    printf("Hello World!\r\n");
    return 0;
}

wie gesagt ich denk das muss eher was mit den Libs zu tun haben
DOUBLE ist wie FLOAT nur in HD
franzf
Beiträge: 3114
Registriert: 31. Mai 2006 11:15

Beitrag von franzf »

Code: Alles auswählen

#include <stdio.h>

int main(int argc,char* argv[]) {
    printf("Hello World!\r\n");
    return 0;
}

Sorry, ich erkenn hier überhaupt kein Qt, somit auch nicht die Nötigkeit, gegen Qt zu linken, noch dazu statisch...
webmaster1987
Beiträge: 73
Registriert: 2. September 2006 18:30
Wohnort: Köln
Kontaktdaten:

Beitrag von webmaster1987 »

das ist auch nur ein testprogranmm und bevor ich jetzt nen ellenlangen code poste wäre es schonmal ein fortschritt zu begreifen wie ich wenigstens DAS zum laufen bringen kann?
DOUBLE ist wie FLOAT nur in HD
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Starte das Programm in einem Debugger und gib uns die Fehlermeldung. So kommen wir nicht weiter. Mal davon abgesehen, daß du anscheinend kein Qt-Problem hast und somit hier total OT bist...
webmaster1987
Beiträge: 73
Registriert: 2. September 2006 18:30
Wohnort: Köln
Kontaktdaten:

Beitrag von webmaster1987 »

ich wage es kaum zu fragen aber wie starte ich das programm im debugger?
DOUBLE ist wie FLOAT nur in HD
MichaelS
Beiträge: 240
Registriert: 27. Dezember 2005 12:49

Beitrag von MichaelS »

In dem Du in der Konsole das Kommando gdb programm eingibst, wobei programm natürlich durch den Pfad und den Namen Deines Programmes zu ersetzen ist. Im gdb gibst Du dann das Kommando run ein, um das Programm zu starten.

Gruß Michael
franzf
Beiträge: 3114
Registriert: 31. Mai 2006 11:15

Beitrag von franzf »

MichaelS hat geschrieben:In dem Du in der Konsole das Kommando gdb programm eingibst, wobei programm natürlich durch den Pfad und den Namen Deines Programmes zu ersetzen ist. Im gdb gibst Du dann das Kommando run ein, um das Programm zu starten.
Genau. Wenn es dann gecrasht ist, kannst du dir mit bt den stack anschaun. Und brav kill, bevor du mit quit den gdb verlässt ;)
webmaster1987
Beiträge: 73
Registriert: 2. September 2006 18:30
Wohnort: Köln
Kontaktdaten:

Beitrag von webmaster1987 »

also habe das entsprechend ausgeführt:

Code: Alles auswählen

Starting program: /test2
FATAL: kernel too old

Program recived signal SIGSEGV, Segmentation fault.
0x080527fb in abort ()

(gdb) bt
#0   0x080527fb in abort ()
#1   0x080533db in __libc_message ()
#2   0x080534e8 in __libc_fatal ()
#3   0x08052311 in __libc_start_main ()
#4   0x08048171 in _start ()
DOUBLE ist wie FLOAT nur in HD
Antworten