Seite 1 von 1
Qt Konsolenprogramm stürtzt unter Debian ab
Verfasst: 15. Mai 2007 16:31
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?
Verfasst: 15. Mai 2007 17:02
von upsala
Selbst geschrieben? Debuggermeldung?
Verfasst: 15. Mai 2007 17:27
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

aber ich denke ein normales hello world programm sollte laufen oder (tuts ja schließlich nicht)
Verfasst: 15. Mai 2007 17:32
von upsala
Dann zeig uns wenigstens den Code...
Verfasst: 15. Mai 2007 17:53
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
Verfasst: 15. Mai 2007 18:16
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...
Verfasst: 15. Mai 2007 19:35
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?
Verfasst: 15. Mai 2007 19:52
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...
Verfasst: 15. Mai 2007 20:42
von webmaster1987
ich wage es kaum zu fragen aber wie starte ich das programm im debugger?
Verfasst: 16. Mai 2007 07:49
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
Verfasst: 16. Mai 2007 09:19
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

Verfasst: 16. Mai 2007 14:53
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 ()