Hello, Guest the thread was called202 times and contains 8 replays

last post from Endurion at the

Probleme beim Debuggen C64 Studio 6.4 mit vice 3.4 (2.4 3.3)

  • Hallo zusammen,


    ich steige grade in die Assembler Programmierung des C64 ein und finde da eine IDE perfect um einfach Programme zu testen.


    Dazu habe ich mir C64 Studio genommen und auch analog der Seiten Retro-Programming.de und der Seiten von Georg Rottensteiner das Programm aufgesetzt.


    Bin unter Windows unterwegs, also auch mit vice3.4 für Windows.


    Ich habe aber genau das gleiche Problem wie hier:

    Probleme beim Debuggen mit C64 Studio &


    Der Debug Modus kann gestartet werden, ich kann aber keine Breakpoints setzen.


    Zum Setzen eines Breakpoints klicke ich auf die Zeile, eine roter Punkt steht dann vor der Zeile, aber ich erhalte keinen Eintrag in der Breakpoint liste.


    Ergebnis: Das Programm hält nicht an, ich kann es aber über den Debug Pause Knopf anhalten. Dummerweise möchte ich aber etwas sehen, was in der Initialisierung passiert, wo ich dann auch meinen Breakpoint ganz an den Anfang gesetzt habe.

    Beim Programm handelt es sich um Step 1 aus dem Tutorial Projekt von Georg Rottensteiner, welches ein paar Sachen initialisiert und dann in einem Gameloop läuft. Im Gameloop wird nur bei jedem Screen refresh die Rahmenfarbe gesetzt.


    Ich hab schon im alten Thread geschaut, aber der ging noch um vice 3.0 und eine Lösung gab es auch nicht, außer eines Software Fixes.


    Ich scheitere schon an am Setup der Entwicklungsumgebung und komme einfach nicht weiter.


    Muß ich den vice irgendwie speziell konfigurieren (Monitor?) ?

    Kann jemand kurz beschreiben, wie der erwartete Zustand denn wäre, wenn ich auf Debug drücke (F5) und der Breakpoint auf der ersten Anweisung steht?


    Was ich auch nicht verstehe:

    Die Anwendung startet direkt. Ich muß kein sys irgendwas ausführen. Kann ich das auch abschalten, daß die nicht automatisch gestartet wird?


    Ich hoffe daß ist hier ungefähr das richtige Forum dafür, denn auf der Seite von Georg gibt es dazu ja nicht viel.


    /EDIT:

    So jetzt habe ich es mit Vice2.4 und noch mal mit Vice 3.3 probiert - nichts funktioniert. Es wird nie ein Breakpoint in der Breakpointlist erstellt und Vice hört die Ausführung nie auf.


    Weiterhin habe ich festegestellt wenn ich im Sourcode rechts clicke und "run to cursor" auswähle, dann bleibt das programm auch stehen.

  • Kaligula

    Changed the title of the thread from “Probleme beim Debuggen C64 Studio 6.4 mit vice 3.4” to “Probleme beim Debuggen C64 Studio 6.4 mit vice 3.4 (2.4 3.3)”.
  • Hi Kaligula,


    Gibt es im Output-Fenster irgendwelche Meldungen beim Starten von VICE?

    Hast du den Debug-Modus gestartet (F5), oder einfach nur Run (Ctrl-F5).


    Breakpoints, etc., greifen nur, wenn der Debug-Modus benutzt wird. Und das die Verbindung mit Remote-Monitor gestartet wird. Ohne Remote-Monitor kein Debugging. Dann müsste aber auch eine entsprechende Meldung im Output zu sehen sein.


    Wenn du VICE über den Setup Wizard eintragen lässt, sind alle Parameter gesetzt, die benötigt werden.


    Kannst du sicherheitshalber einmal die Ausgaben aus dem Output-Fenster von einem Debug-Versuch hier reinkopieren?

  • Hi,


    hier mal die Dokumentation, was ich mache auch in bildern:

    1. Ich habe den Wizzard genommen und mein vice3.4 Verzeichnis angegeben.


    2. So sieht das danach dann in den Preferences aus:


    3. Dann habe ich Dein Tutorial-Projekt geladen (Stufe1) und den breakpoint auf $810 gesetzt. Hier fällt schon auf, daß kein Breakpoint in der Breakpoint Liste erscheint. Das Programm wurde erfolgreich compiliert.


    4. Wenn ich jetzt auf den Debug Button drücke, dann startet einfach das Programm (btw. das sieht anders aus, als im vice 3.3 und im vice 2.4).


    5. Es gibt keine Meldung im Output, die auf ein Problem hinweisen würde:

    Code
    1. .fctbNone{ color:#000000; }
    2. Determined D:\Development\C64\GameTutorial\step1\jmain.asm as active document
    3. Running build on D:\Development\C64\GameTutorial\step1\jmain.asm
    4. Build successful, 0 warnings, 0 errors encountered
    5. Start address $0801 to $083C, size 60 bytes
    6. Compiled to file D:\Development\C64\GameTutorial\step1\jmain.prg, 62 bytes
    7. Debugging D:\Development\C64\GameTutorial\step1\jmain.asm
    8. Calling D:\Emulators\Vice3.4\x64sc.exe with -truedrive +virtualdev -initbreak 0xa871 -remotemonitor -moncommands "C:\Users\chris\AppData\Local\Temp\tmp52C0.tmp" "D:\Development\C64\GameTutorial\step1\jmain.prg"
    9. Connection attempt 1 succeeded


    6. Wenn ich auf Pause drücke, dann hält der vice die Ausführung an und ich sehe im C64 Studio auch die Register/Memory etc. pp.


    Frage:

    Wenn ich einen Breakpoint setze, müsste dann nicht auch ein breakpoint in der Liste erscheinen?

  • Das sieht eigentlich alles richtig aus.


    Hast du das File jmain.asm einfach nur so geöffnet? Hab es gerade getestet, Breakpoints greifen leider nur, wenn man ein Projekt geöffnet hat. Versuch bitte mal, die Solution-Datei zu öffnen (.s64), dann müsste das auch mit den Breakpoints klappen.


    Da muss ich auch mal was dran tun, so aus dem Bauch heraus sehe ich keinen Grund, warum das so sein müsste.

  • Ja, das ist ein Nacktes .asm file.. da gehört kein Projekt zu. Im Moment bin ich auch noch nicht so richtig in die IDE eingestiegen ... das muss ich mir dann alles noch mal draufschaffen.


    Nach dem Motto, was ist ein Projekt und wozu brauche ich das? Ich meine wir schreiben hier ja keine C++ Klasslibraries die dann mit 100ten oder 1000den files aufwarten, die dann Verwaltet werden müssen ...


    Es wäre cool, wenn man einen Breakpoint einfach so setzen könnte. Wenn ich z.B. einfach ein neues File mache ... ein paar Zeile reinklimper, dann sollte das einfach so funktionieren.


    Ich habe das jetzt noch mal mit einem Projekt ausprobiert und bin fast verzweifelt ... was ist eine Solution? Und warum wird das ASM file nicht angezeigt .. puh. viel zu lernen. Aber ja mit einem Projekt funktioniert das tadellos.


    Habe jetzt die neue Version getestet: Funktioniert einwandfrei :-) Danke.

  • Die Bezeichnungen orientieren sich an Visual Studio :)


    Eine Solution ist eine Arbeitsmappe, die ein oder mehrere Projekte beinhaltet. Projekte sind dann zusammengehörige Dateien.


    Dateien und Projekte können von einander abhängen. Zum Beispiel bei nachladenden Spielen ist ein Projekt der Hauptcode, die nachladenden Teile jeweils ein Projekt, die vom Hauptcode abhängen und auch dessen Symbole verwenden können (für generische Funktionen)