prb28 / vscode-amiga-assembly

Amiga Assembly extension for Visual Studio Code
GNU General Public License v3.0
178 stars 12 forks source link

Link order cannot be set #259

Closed Real-MJoe closed 1 year ago

Real-MJoe commented 1 year ago

First of all, many many thanks for the further development on the extension, to all involved. Unfortunately, the new version 1.8.1 has two major problems, the first of which has been present for some time.

Problem 1:

The files are compiled in the wrong order than I specify. This has unwanted side effects or I want to determine the order deliberately. Until now I had to use a MAKE file for this.

The three files "main.s", asset.s, and startup.s must be compiled in the order "main.s, startup.s, asset.s". In the "main.s" is also the entrypoint. I can set this with the entrypoint switch in task.json.

Unfortunately the files are sorted by name. Here times the vlink setting: grafik

Compiling and linking looks like this: grafik and grafik

Compile errror!

If you add a sort-prefix to the files, the files will also be sorted, but according to my wish.

Here is the vlink setting: grafik

Compiling and linking looks like this: grafik and grafik

All fine now! Workspace IssueDebugging_(1.8.1).zip

Problem 2

The bigger problem is the handling of breakpoints. These are set incorrectly or not triggered at all. If you start the project and end up in the debugger ("stopOnEntry": true) and then press F11 to continue to the InitSystem jump, the "function" from the startup.s file is not displayed, but a wrong position in the main.s file. grafik

If you set a breakpoint in the files asset.s on the function AllocAssetMem, it is not triggered.

The problem does NOT exist with version 1.6, in which the code can be stepped through and debugged properly. grafik

Workspace IssueDebugging_(1.6).zip

Many greetings

prb28 commented 1 year ago

@Real-MJoe, I split this issue in 2, more easy for us to follow.