Hallo Besucher, der Thread wurde 479k mal aufgerufen und enthält 4057 Antworten

letzter Beitrag von smithloo am

C64 Studio - Entwicklungsumgebung

  • Hallo,
    ich bin gerade über einen Fehler gestolpert, bei dem ich erstmal etwas brauchte, bis ich ihn überhaupt bemerkt habe.


    Ich habe einen alten Source von einem D64-Image ins C64 Studio eingefügt, um diesen anzupassen.
    Als ich begann die ersten Fehler zu korrigieren und dann das Programm neu assemblieren ließ, damit diese aus der Fehlerliste verschwinden, blieben die einfach stehen.
    Nach wiederholtem kontrollieren, dass ich alles korrekt korrigiert habe, warf ich einen Blick auf den Output-Tab und siehe da, dort stand eine Fehlermeldung:



    Code
    1. An error occurred during building an element
    2. System.ArgumentOutOfRangeException: Der Index und die Länge müssen sich auf eine Position in der Zeichenfolge beziehen.
    3. Parametername: length
    4. bei System.String.InternalSubStringWithChecks(Int32 startIndex, Int32 length, Boolean fAlwaysCopy)
    5. bei C64Studio.Parser.ASMFileParser.DetermineUnparsedLabels()
    6. bei C64Studio.Parser.ASMFileParser.Parse(String Content, ProjectConfig Configuration, CompileConfig Config)
    7. bei C64Studio.Parser.ParserBase.ParseFile(DocumentInfo Document, ProjectConfig Configuration, CompileConfig Config)
    8. bei C64Studio.MainForm.ParseFile(ParserBase Parser, DocumentInfo Document, ProjectConfig Configuration, Boolean OutputMessages)
    9. bei C64Studio.Tasks.TaskCompile.BuildElement(DocumentInfo Doc, String ConfigSetting, String AdditionalPredefines, Boolean OutputMessages, BuildInfo& BuildInfo, FileInfo& FileInfo)




    Im kopierten Source gab es folgende Zeile.
    Die Startadresse habe ich hinzugefügt, so kann ich das direkt reproduzieren.

    Code
    1. *=$0801
    2. WAIT JSR MINIT ;alles auf 0

    Erstelle ich den obigen Abschnitt, kommt es im Output-Fenster zur Eingangs gezeigten Fehlermeldung.
    Der Fehler verschwindet, sobald eine der beiden folgenden Änderungen gegeben ist:

    • Das Label MINIT wird eingefügt.
    • oder man gibt mind. ein Leerzeichen mehr, vor dem Semikolon ein.
  • Vielen Dank,
    jetzt geht es.


    Bin beim Gegenprüfen aber über einen weiteren Fehler gestolpert.


    Gleiches Beispiel von oben.


    Suchen -> minit -> ignore case -> find all -> Doppelklick auf den Eintrag -> Fehler

  • Der @, der immer nach Doppelklicken eines Screens im Screen eingefügt wurde ist jetzt weg... Danke!


    Doch Hoppla, ein crash in Version 5.4c! Textblock markiert und STRG-X gedrückt. Dann passierte das hier:


    Informationen über das Aufrufen von JIT-Debuggen
    anstelle dieses Dialogfelds finden Sie am Ende dieser Meldung.



    ************** Ausnahmetext **************
    System.ArgumentOutOfRangeException: Der Index lag außerhalb des Bereichs. Er muss nicht negativ und kleiner als die Auflistung sein.
    Parametername: index
    bei System.ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument argument, ExceptionResource resource)
    bei System.ThrowHelper.ThrowArgumentOutOfRangeException()
    bei System.Collections.Generic.List`1.get_Item(Int32 index)
    bei FastColoredTextBoxNS.TextSource.get_Item(Int32 i)
    bei FastColoredTextBoxNS.FastColoredTextBox.get_Item(Int32 iLine)
    bei FastColoredTextBoxNS.Range.get_Text()
    bei C64Studio.SourceASMEx.UpdateStatusInfo()
    bei C64Studio.SourceASMEx.editSource_KeyPress(Object sender, KeyPressEventArgs e)
    bei System.Windows.Forms.Control.OnKeyPress(KeyPressEventArgs e)
    bei System.Windows.Forms.Control.ProcessKeyEventArgs(Message& m)
    bei System.Windows.Forms.Control.ProcessKeyMessage(Message& m)
    bei FastColoredTextBoxNS.FastColoredTextBox.ProcessKeyMessage(Message& m)
    bei System.Windows.Forms.Control.WmKeyChar(Message& m)
    bei System.Windows.Forms.Control.WndProc(Message& m)
    bei System.Windows.Forms.ScrollableControl.WndProc(Message& m)
    bei System.Windows.Forms.ContainerControl.WndProc(Message& m)
    bei System.Windows.Forms.UserControl.WndProc(Message& m)
    bei FastColoredTextBoxNS.FastColoredTextBox.WndProc(Message& m)
    bei System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
    bei System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
    bei System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)




    ************** Geladene Assemblys **************
    mscorlib
    Assembly-Version: 2.0.0.0.
    Win32-Version: 2.0.50727.8762 (QFE.050727-8700).
    CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll.
    ----------------------------------------
    C64Studio
    Assembly-Version: 1.0.0.0.
    Win32-Version: 1.0.0.0.
    CodeBase: file:///C:/C64StudioRelease/C64Studio.exe.
    ----------------------------------------
    System.Windows.Forms
    Assembly-Version: 2.0.0.0.
    Win32-Version: 2.0.50727.5491 (Win7SP1GDR.050727-5400).
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll.
    ----------------------------------------
    System
    Assembly-Version: 2.0.0.0.
    Win32-Version: 2.0.50727.8770 (QFE.050727-8700).
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll.
    ----------------------------------------
    System.Drawing
    Assembly-Version: 2.0.0.0.
    Win32-Version: 2.0.50727.5495 (Win7SP1GDR.050727-5400).
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll.
    ----------------------------------------
    WeifenLuo.WinFormsUI.Docking
    Assembly-Version: 3.0.1.0.
    Win32-Version: 3.0.1.0.
    CodeBase: file:///C:/C64StudioRelease/WeifenLuo.WinFormsUI.Docking.DLL.
    ----------------------------------------
    HexBox
    Assembly-Version: 1.5.0.34711.
    Win32-Version: 1.5.0.34711.
    CodeBase: file:///C:/C64StudioRelease/HexBox.DLL.
    ----------------------------------------
    FastColoredTextBox
    Assembly-Version: 2.16.11.0.
    Win32-Version: 2.16.11.0.
    CodeBase: file:///C:/C64StudioRelease/FastColoredTextBox.DLL.
    ----------------------------------------
    System.Configuration
    Assembly-Version: 2.0.0.0.
    Win32-Version: 2.0.50727.5483 (Win7SP1GDR.050727-5400).
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Configuration/2.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll.
    ----------------------------------------
    System.Xml
    Assembly-Version: 2.0.0.0.
    Win32-Version: 2.0.50727.5494 (Win7SP1GDR.050727-5400).
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll.
    ----------------------------------------
    mscorlib.resources
    Assembly-Version: 2.0.0.0.
    Win32-Version: 2.0.50727.8762 (QFE.050727-8700).
    CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll.
    ----------------------------------------
    System.Deployment
    Assembly-Version: 2.0.0.0.
    Win32-Version: 2.0.50727.5493 (Win7SP1GDR.050727-5400).
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Deployment/2.0.0.0__b03f5f7f11d50a3a/System.Deployment.dll.
    ----------------------------------------
    System.Deployment.resources
    Assembly-Version: 2.0.0.0.
    Win32-Version: 2.0.50727.5420 (Win7SP1.050727-5400).
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Deployment.resources/2.0.0.0_de_b03f5f7f11d50a3a/System.Deployment.resources.dll.
    ----------------------------------------
    System.Core
    Assembly-Version: 3.5.0.0.
    Win32-Version: 3.5.30729.5420 built by: Win7SP1.
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Core/3.5.0.0__b77a5c561934e089/System.Core.dll.
    ----------------------------------------
    Microsoft.mshtml
    Assembly-Version: 7.0.3300.0.
    Win32-Version: 7.0.3300.0.
    CodeBase: file:///C:/Windows/assembly/GAC/Microsoft.mshtml/7.0.3300.0__b03f5f7f11d50a3a/Microsoft.mshtml.dll.
    ----------------------------------------
    System.resources
    Assembly-Version: 2.0.0.0.
    Win32-Version: 2.0.50727.5420 (Win7SP1.050727-5400).
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.resources/2.0.0.0_de_b77a5c561934e089/System.resources.dll.
    ----------------------------------------
    System.Windows.Forms.resources
    Assembly-Version: 2.0.0.0.
    Win32-Version: 2.0.50727.5420 (Win7SP1.050727-5400).
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Windows.Forms.resources/2.0.0.0_de_b77a5c561934e089/System.Windows.Forms.resources.dll.
    ----------------------------------------



    ************** JIT-Debuggen **************
    Um das JIT-Debuggen (Just-In-Time) zu aktivieren, muss in der
    Konfigurationsdatei der Anwendung oder des Computers
    (machine.config) der jitDebugging-Wert im Abschnitt system.windows.forms festgelegt werden.
    Die Anwendung muss mit aktiviertem Debuggen kompiliert werden.



    Zum Beispiel:



    <configuration>
    <system.windows.forms jitDebugging="true" />
    </configuration>



    Wenn das JIT-Debuggen aktiviert ist, werden alle nicht behandelten
    Ausnahmen an den JIT-Debugger gesendet, der auf dem
    Computer registriert ist, und nicht in diesem Dialogfeld behandelt.

  • Hallo Endurion,


    ich habe ein kleines Problem gefunden. Wenn ich ein Kombilitat mittels !to Ausgebe, bekomme ich eine Fehlermeldung wenn Umlaute oder Leerzeichen in der Pfadangabe vorhanden sind. (siehe Dateianhang)
    Ist nicht dramatisch, da man es umgehen kann. Aber ich denke es ist gut zu wissen, das C64Studio sich so verhält.

  • Das's ja mal interessant, danke, nehme ich gleich mit!


    Ich versuche gerade das Kompilieren wieder ans Laufen zu bekommen, nach ich die SourceInfos etwas verhuddelt habe. Verflixt noch eins, und ich habe hier keine ruhigen paar Minuten damit ich da mal einen klaren Kopf kriege... :)

  • Neenee, ich meine nicht dich :)


    Zuhause war es ein stressiges Wochenende. Aber im Büro ist Entspannung.... ;)



    Aber zu deinem Pfad-mit-Umlauten-Problem: Ich kann den nicht nachstellen? Kannst du bitte sicherheitshalber prüfen, ob beide Ordner "Temporärer Ordner" und "C64Studio" darin existieren? C64Studio legt auf jeden Fall keine Verzeichnisse an, d.h. wenn die als Ziel angegeben sind, müssen die auch existieren.
    Oder ist das die Erwartung? Ich kann die Ordner natürlich anlegen, wenn sie nicht da sind.

  • Aber zu deinem Pfad-mit-Umlauten-Problem: Ich kann den nicht nachstellen? Kannst du bitte sicherheitshalber prüfen, ob beide Ordner "Temporärer Ordner" und "C64Studio" darin existieren? C64Studio legt auf jeden Fall keine Verzeichnisse an, d.h. wenn die als Ziel angegeben sind, müssen die auch existieren.
    Oder ist das die Erwartung? Ich kann die Ordner natürlich anlegen, wenn sie nicht da sind.

    Teste ich später und melde mich wieder!

  • Aber zu deinem Pfad-mit-Umlauten-Problem: Ich kann den nicht nachstellen? Kannst du bitte sicherheitshalber prüfen, ob beide Ordner "Temporärer Ordner" und "C64Studio" darin existieren?

    Ich bin der Meinung alle Ordner richtig angelegt zu haben. War nicht der Fall - nochmals alles kontrolliert und es klappt. :platsch: Peinlich!
    Also eindeutig ein Fall von mir! Alles klappt so wie es sein soll.



    Oder ist das die Erwartung? Ich kann die Ordner natürlich anlegen, wenn sie nicht da sind.

    Ich würde sagen nein.

  • Ah, noch ein Bug für die Sammlung :)


    Danke! Das sind auch so kleine Blödheiten, das AutoComplete-Verhalten gefällt mir in großen Teilen noch nicht.
    Eigentlich möchte ich auch noch Kontext-sensitive Infos in der Liste haben, für Pseupo-OPs, und die ",x" und ",y" bei Opcodes.

  • Einen simplen Reminder, mit unterschiedlichen Inhalten pro PC. Daher gibt es auch immer wieder Bugs, die ich noch nicht fixe, weil der nur auf einem anderen PC gelistet ist :D


    Den ersten Bug habe ich schon bereinigt, da war nur das Regex für Labels nicht vollständig.

  • Hallo Zusammen,


    bin jetzt notgedrungen auf die neuste Version vom Studio umgestiegen (ich steigen bei Tools normalerweise nie im laufenden projekt um), weil die alte Version ständig abgestürzt ist (vermutlich Projekt zu groß).


    Jetzt kann ich nicht mehr Compillieren. Ich wechlse wie bisher auf mein haupt assembler programm und drücke den Compillierknopf und nix passiert.
    Ich habe jetzt auch schon eine


    !to "main.prg", cbm


    Zeile eingefüg und das assembler-Hauptprogramm als active element markiert - dennoch keine Rekation.Was muss ich noch einstellen?Ist vielleicht auch an


    !to "main.prg", cbm


    noch was falsch? - Denn er erkennt das in den properties bei "Parse for Target" nicht.