Ice Bro Lite

Extended manual for Ice Bro Lite


Project maintained by Sakrac Hosted on GitHub Pages — Theme by mattgraham

Start Debugging

Note that when connected to VICE, the debugger will only update the machine state after you’ve stopped VICE. There are several ways to stop VICE:

Start executing the program to debug

There are two ways to go about debugging a program in IceBro Lite: 1) Start executing the program in VICE, then connect the debugger to VICE. 2) Connect VICE to the debugger, then load (and reload) the program from within the debugger and execute it from there.

Executing code from VICE

If you execute code from VICE you can browse for the appropriate symbol file from the debugger “File” menu. When the program is running, you can stop it from inside the debugger.

###Executing code from IceBro Lite

Follow these steps to launch a program from IceBro Lite:

Step 1: Click the LOAD icon in IceBro Lite.

IceBro Lite Load Icon

Step 2: Select a .prg/.d64 or .crt file from the file browser.

The debugger will now try to find a .dbg file (Kick Assembler debugger data), or .sym file (general assembler symbol file) or .vs file (Vice monitor commands). It will then load symbols and source debug at the same time.

When the files are loaded into the debugger, the debugger will stop twice before running the code: first before it starts loading, and second when it is about to run the loaded code.

To return to VICE just press F5 or press the play icon in the toolbar.

Step 3: Done!

How to debug – tips and advice

Debugging operations mainly involve dragging a symbol or pointer from one pane into another pane, in order to see what it does there. For this purpose you can drag symbols and pointers from e.g. the Symbol browser or Breakpoint to the tabs of other panes, such as the Code view, the Breakpoint view or the Memory view.

In the image below, a symbol from the Symbol pane is dragged to the Breakpoints view. This adds the symbol as a breakpoint in VICE.

Starting to debug Witch Rescue Service

Keyboard controls

Global keys

Code pane Keys

Memory pane Keys (after clicking on a byte)

Breakpoint pane Keys (after clicking on a breakpoint)