Just nu i M3-nätverket
Jump to content

Kraschar


Anderberg

Recommended Posts

Har skrivigt ett program i C som använder lite olika sorteringstyper och det fungerar fint. Om jag väljer att sortera 50000 tal fungerar det utmärkt men väljer jag att sortera fler tal som t.ex. 80000 tal så krachar programmet och så kommer följande text fram:

 

Hur stort ska fõltet som ska sorteras vara? 80000

Exiting due to signal SIGSEGV

Stack Fault at eip=00002099

eax=0004e200 ebx=0000029e ecx=00095c15 edx=00095cd4 esi=00000054 edi=00015d54

ebp=00095d30 esp=ffff98d4 program=G:\C\LABB4\TEST.EXE

cs: sel=01a7 base=029e0000 limit=0009ffff

ds: sel=01af base=029e0000 limit=0009ffff

es: sel=01af base=029e0000 limit=0009ffff

fs: sel=017f base=0000f720 limit=0000ffff

gs: sel=01bf base=00000000 limit=0010ffff

ss: sel=01af base=029e0000 limit=0009ffff

App stack: [00095d54..00015d54] Exceptn stack: [00015cb0..00013d70]

 

Call frame traceback EIPs:

0x00002099

 

Är det någon som har en aning om varför det kraschar när jag anger ett större värde?

 

Link to comment
Share on other sites

Sen lördagskvällsgissningm från ensom inte attackerat C på ett tag.

 

Är du säker på att du inte gör slut på ditt tillgängliga minne alternativt stacken? Kan tyvärr inte tolka ditt felmeddelande, men ser meningen "Stack Fault".

 

 

Misstänker nästan att du itirerar dig fram i din algoritm. Anropar dig själv eller dylikt och bygger därmed på stacken väldigt snabbt. Eller att du söker i ett index utanför den aktuella stacken.

 

Ooh, det är kom ur mitt minne, kan tyvärr inte utveckla det mer, men hoppas att jag lett dig in på ett spår du kan följa.

 

/T

 

Link to comment
Share on other sites

Tackar. Där stod hur man skulle göra.

 

Skrev till unsigned _stklen = 3048576; i koden för att utöka minnet till stacken till 3 mb och då fungerade det fint.

 

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...