segfaults finden

Kamikaze

Warrior of Sunlight
Teammitglied
Ich versuche einen FreeBSD Port von einem Firefox Plugin (http://users.skynet.be/mgueury/mozilla/) zu machen. Das ganze kompiliert auch problemlos und erzeugt ein vollständiges .xpi. Zu Firefox 1.x Zeiten habe ich mir das schon mal selbst gebaut und da hat es noch funktioniert. Aber jetzt meldet Firefox nur noch "Segmentation fault" wenn ich das Plugin installiere und Firefox neu starte.

Wie fange ich an so einen Fehler zu finden? Ich kenne das nur vom Assembler programmieren und da ist es meist recht offensichtlich woran es liegt. Bei einer 'Hochsprache' dürfte sowas aber doch gar nicht möglich sein.
 
Wenn Du es noch nicht kannst willst Du bestimmt nicht mit Firefox anfangen, das Ding ist einfach zu bloat.

Zur Frage: Such mal nach "Electric Fence". oder schau Dir man malloc.conf an.
 
Ja, aber der Fehler liegt ja im Plugin, und das ist doch ein recht kleines Ding.

Danke für die Ratschläge.
 
Bau das Plugin als Debug Version (gcc -g) und starte Firefox ueber den gdb. Das geht allerdings nur, wenn das Plugin in C/C++ geschrieben wurde. ;)
Ansonsten kannste auch nachtraeglich das Core File in den gdb laden und dir mit bt den backtrace anschauen, dann solltest Du schon in die Naehe kommen, wo das Problem liegt.

HTH
 
[LoN]Kamikaze schrieb:
Ich versuche einen FreeBSD Port von einem Firefox Plugin
Ich kenne das nur vom Assembler programmieren und da ist es meist recht offensichtlich woran es liegt. Bei einer 'Hochsprache' dürfte sowas aber doch gar nicht möglich sein.
In C/C++ hast du nackte pointer - da kann sowas sehr leicht passieren. Auf der Ebene hast du keinen Unterschied zum reinen Assembler.
 
Zurück
Oben