2016-03-24 6 views
2

Ich muss einige Haskell-Code debuggen und herausfinden, wo ein Problem zur Laufzeit auftritt. Wenn ich mein Programm laufen soll, sagt dieseHaskell GHCI, scheint nicht in die interaktive Ausführung des Hauptmoduls

main: Prelude.(!!): index too large 

, die mich führt zu glauben, dass es ein Ort ist, ich eine Liste an eine Funktion bin das Senden, die ich nicht wirklich sein, und ich weiß nicht, wo. Dies ist ein semantisches Analyseprogramm für mehr als 600 Zeilen. Das Problem ist, ich kann nicht für das Leben von mir herausfinden, wo das ist !! Fehler ist. Die Debugging-Dokumentation ist wirklich verwirrend, und ich kann GHCI nicht zur Zusammenarbeit bringen, damit ich das vielleicht herausfinden kann. Immer, wenn ich ghci main.hs laufen, dies geschieht:

GHCi, version 7.6.3: http://www.haskell.org/ghc/ :? for help 
Loading package ghc-prim ... linking ... done. 
Loading package integer-gmp ... linking ... done. 
Loading package base ... linking ... done. 
Ok, modules loaded: Main. 
Prelude Main> 

Ich kann nicht scheinen, um es zu

*Main> 

so zu drehen, dass ich kann tatsächlich gesetzte Breakpoints und all die lustigen Sachen. Wie bekomme ich das zum Laufen?

Antwort

5

Die vorherige Zeile bedeutet, dass Sie die Datei im kompilierten Modus laden. Sie können dies beheben, indem Sie sicherstellen, dass keine kompilierte Version der Datei vorhanden ist. oder Sie können GHCI sagen interpretierten Modus zu verwenden, indem eine * Voranstellen beim Laden der Datei:

Prelude Main> :l *Main 
*Main> 

(Oder laufen ghci '*Main.hs' - angepasst an Ihrer Shell zu entkommen Bedürfnisse entsprechend.)

Verwandte Themen