windows - Cygwin fejlfinding.

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg har en eksekverbar indbygget i Windows. Jeg vil overføre det .exe til en output-fil, der er bygget af Cygwin (DOS-version). Det går godt op til et punkt, hvorefter det viser følgende fejl relateret til Cygwin dll-filer (ACL-check).


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


Hvorfor får jeg denne fejl, og hvor skal jeg se?

Bedste reference


Tjek din kode. Da du allerede bruger gdb, skal bt full være din ven. Du kan muligvis passere dårlige parametre som ugyldige pegere til et systemopkald.


Det er sandsynligt, at det ikke er aclcheck hvor segfault selv forekommer. Cygwin DLL'er leveres normalt ikke med indbyggede fejlfindingssymboler. Gdb arbejder baglæns fra instruktionspekeren og tager det forrige symbol set. I ikke-debug builds er der kun symboler for eksporterede funktioner.