BCS Computersysteme Holzhau Tino Bellmann

Ein in C++ geschriebenes CGI-Programm bringt einen "Segmentation fault" auf dem Webserver

Ein CGI-Programm, welches mit C++ entwickelt und mit dem Linux-Compiler gcc kompiliert wurde, kann nach dem Kopieren auf den Webserver einen "Error 500" im Browserfenster anzeigen. Während man im Browser wenig Möglichkeiten hat, den Fehler zu sehen, hilft ein Login per SSH auf dem Webserver. Starten Sie das fehlerhafte Programm per Hand.

Von Zugriffsrechteproblemen abgesehen (loggen Sie sich als root ein, wenn Sie können) könnte auch die Fehlermeldung

"segmentation fault" erscheinen - nichts weiter.

Was ist die Ursache dieses Fehlers ? Auf Ihrem Testrechner funktionierte das Programm ja problemlos. Möglicherweise haben Sie die Datei versehentlich als ASCII übertragen. Ein in C++ geschriebenes und mit gcc kompiliertes Programm ist jedoch eine binäre Datei und muß auch bei der Übertragung so behandelt werden.

Ändern Sie die Übertragungsart in Ihrem FTP-/SSH-Clienten und kopieren Sie die Datei erneut auf den Server. Bei korrekten Zugriffsrechten usw. wird das Programm fehlerfrei starten und auch im Browserfenster werden Sie die Ausgaben Ihrer Webapplikation sehen.

Ein weiterer Fehler, welcher jedoch ein schwerwiegender Programmierfehler ist, kann ebenfalls auftreten: Ihr C-Programm benötigt zum korrekten Arbeiten einen Parameter (Variablenwert), welcher planmäßig per CGI vom Browser an den Webserver übergeben werden soll. Wird dieser Variablenwert nicht definiert, ergibt das ebenfalls einen Segmentation fault. Der Wert dieser Variable sollte im Quelltext hart codiert werden, damit das Programm zum korrekten Abarbeiten einen "Default-Wert" zur Verfügung hat.

Ist das unerwünscht, hilft nur eine korrekt programmierte Fehlerbehandlungsroutine, welche ggf. zum kontrollierten Programmende führt.

 

 

 

Informationen zu diesem Artikel:

Redakteur: Tino Bellmann
Erstellt: 21.09.2009
Aktuell: 14.08.2010
Ähnliche Themen: ssh c++ gcc cgi segmentation fault webserver cgi browser

Webdesign Linux Fonts
Thickbox Demo
Fancybox Demo
Datepicker Web Kalender Demo
Kostenloses Gästebuch
Your IP
Your Hostname
Unicode-Tabelle
Quittung online
Passwort Generator
Kleinanzeigen
CNC Ansteuerungssoftware für SMC800 und SMC1500
Ökobad Rechenberg
Holzhau Skifasching
Festumzug Rechenberg
Holzhau Dorffest
Holzhau Huskyrennen
Freiberger Eisenbahn
Segelfliegen Oschatz
Zoo Leipzig
Pferdebahn Döbeln
Elbsandsteingebirge
Biathlon
Weisseritztalbahn
Dampflok Videos
Döllnitzbahn
Drachenbootcup
Holzhau Videos