2009-05-29 15 views
0

Ich habe eine ausführbare Datei in Windows erstellt. Ich möchte diese .exe an eine Ausgabedatei weitergeben, die von Cygwin (DOS-Version) erstellt wurde. Es läuft gut bis zu einem Punkt, nach dem es den folgenden Fehler im Zusammenhang mit Cygwin DLL-Dateien (ACL-Prüfung) zeigt.Cygwin Fehler beim Debuggen.

Program received signal SIGSEGV, Segmentation fault. 
0x6108829e in cygwin1!aclcheck() from /usr/bin/cygwin1.dll 
(gdb) 

Warum bekomme ich diesen Fehler und wo soll ich suchen?

+2

versuchen Sie ein Cygwin Forum/Board. Ich versuche nicht, dich abzuschrecken, aber das ist keine Programmierfrage und sieht aus wie nicht einmal deine App ... es ist die zugrunde liegende Plattform. – jpinto3912

+0

Bitte umformulieren. Was meinst du mit "exe an eine Datei übergeben"? Meinst du Umleiten? Was ist "Cygwin (DOS-Version)"? Soweit ich weiß Cygwin ist nur Windows. (daher der Sieg) – EFraim

Antwort

0

Überprüfen Sie Ihren Code. Da du bereits gdb verwendest, soll bt full dein Freund sein. Sie übergeben möglicherweise ungültige Parameter wie ungültige Zeiger zu einem Systemaufruf.

Es ist wahrscheinlich nicht aclcheck wo der Segfault selbst auftritt. Cygwin-DLLs werden normalerweise nicht mit integrierten Debugging-Symbolen ausgeliefert. Gdb arbeitet rückwärts vom Anweisungszeiger und nimmt das vorher gesehene Symbol. In Nicht-Debug-Builds gibt es nur Symbole für exportierte Funktionen.

Verwandte Themen