December 11, 2024, 08:48:14 PM

News:

Own IWBasic 2.x ? -----> Get your free upgrade to 3.x now.........


Aurora Beta 1 Rev 2

Started by Ionic Wind Support Team, October 09, 2006, 10:48:08 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Ionic Wind Support Team

The Aurora compiler has just been updated to Beta 1 Rev 2.  To get the update redownload from the link provided when purchasing and reinstall the compiler.

Changes/Additions
-------------------------
- STATIC keyword added.
- A DSTRING can now be defined and initialized in one step.  i.e. dstring path[260] = "c:\\";
- The OpenFile function now returns 0 on failure instead of 0xFFFFFFFF. 
- #break preoprocessor command added.  Inserts a debug breakpoint.
- The GLOBAL keyword is no longer needed for the 'main' function.  The compiler adds it automatically.
- When compiling in debug mode all discreet functions are made global to aid in debugging.
- An error with single file compiling was fixed. The bug caused corrupted .opts files causing problems when recompiling a program.
- A few parser bugs were fixed.
- The debugger now displays the contents of local variables during a crash or breakpoint.

Notes:
---------
The debug variable display currently only shows the contents of intrinsic types.  Class and structure members will be availalble in the next revision.  To use the debugger insert a #break statement where you want the execution to stop, build a debug executable by checking the check box in the options dialog, and then select build->debug->start.  The debug context display window now has a 'locals' tab that shows the contents of the variables in the function.  You can expand the header of the display to show more data.

The #break keyword is the same as STOP in other languages.  It is also ignored in a non debug build so it won't cause an exception if you forget to remove it in a release build.

The STATIC keyword is used to create a static variable in a subroutine.  A static variable does not lose it's contents between subroutine calls and acts much like a global variable.  Usage:

sub mysub(),int
{
static int count = 5;
....
}

The variable will only be initialized once during the execution of the program.  A static variable is located in the same data segment as global variables and in as much will not show up on the 'locals' tab of the debug context window.

The demo version has also been updated.

Have fun,
Paul.
Ionic Wind Support Team

John Syl.

October 09, 2006, 01:37:16 PM #1 Last Edit: October 09, 2006, 01:47:07 PM by puddytat
I tried the #break...works perfect, but the local variables are not displayed in the 'locals' view.
What am I doing wrong?

using a routine of the format:

SUB test_routine(int n)
ÂÃ,  ÂÃ,  ÂÃ,  {
ÂÃ,  ÂÃ,  ÂÃ,  int x;
ÂÃ,  ÂÃ,  ÂÃ,  x=n;
ÂÃ,  ÂÃ,  ÂÃ, #break;
ÂÃ,  ÂÃ,  ÂÃ,  return;
ÂÃ,  ÂÃ,  ÂÃ,  }

Okay got it working in single source mode, does not work in project mode.


regards
John
Intel 3.6 p4 ht, XP home,2 gb mem, 400 gb hd 20gb raid 0, Nvidia 6600le.
AMD k6-2 500, 40gb.

Started on PDP11 Assembler, BASIC, GWBASIC, 6502, Z80, 80x86, Java, Pascal, C, C++, 
IBasic (std & pro), Aurora, EBasic.  (Master of none, but it's been fun!)

Ionic Wind Support Team

Works here.  Are you using build->debug->start after creating the debug executable?

You should have a call stack that shows test_routine as the first entry.
Ionic Wind Support Team

John Syl.

Paul,

Thanks for the quick reply.

I did it on a project that I've already started and it didnt't want to display the local variables.

Having now reinitialized the project (deleted awp file) and start a new project and added the source files back, it now works ok.

regards
John




Intel 3.6 p4 ht, XP home,2 gb mem, 400 gb hd 20gb raid 0, Nvidia 6600le.
AMD k6-2 500, 40gb.

Started on PDP11 Assembler, BASIC, GWBASIC, 6502, Z80, 80x86, Java, Pascal, C, C++, 
IBasic (std & pro), Aurora, EBasic.  (Master of none, but it's been fun!)

Ionic Wind Support Team

Glad it worked.  I should mention that you'll need to recompile all of your projects, shouldn't have to delete the .awp file though.  Weird.
Ionic Wind Support Team

John Syl.

Okay tracked down my problems...I tend to put my src files in their own directory. 
They need to be in the working directory.   This also applies for the class viewer to work correctly.

Also if you have the reloction table included in the executable, the locals are not displayed.

regards
John

Intel 3.6 p4 ht, XP home,2 gb mem, 400 gb hd 20gb raid 0, Nvidia 6600le.
AMD k6-2 500, 40gb.

Started on PDP11 Assembler, BASIC, GWBASIC, 6502, Z80, 80x86, Java, Pascal, C, C++, 
IBasic (std & pro), Aurora, EBasic.  (Master of none, but it's been fun!)

Ionic Wind Support Team

Ionic Wind Support Team

Parker

STATIC compiles okay, but it isn't in the IDE keyword list.

Ionic Wind Support Team

October 09, 2006, 07:07:51 PM #8 Last Edit: October 10, 2006, 12:26:35 PM by Paul Turley
Yes I know.  Forgot to add it to be highlighted before the update.  It works fine though.
Ionic Wind Support Team

Ionic Wind Support Team

Just a FYI. The problem with the debugger not displaying local variables if your source file was not in the project directory has been fixed. The update will be in Beta 1 Rev 3. 
Ionic Wind Support Team

John Syl.

Thanks Paul. Much appreciated.
John
Intel 3.6 p4 ht, XP home,2 gb mem, 400 gb hd 20gb raid 0, Nvidia 6600le.
AMD k6-2 500, 40gb.

Started on PDP11 Assembler, BASIC, GWBASIC, 6502, Z80, 80x86, Java, Pascal, C, C++, 
IBasic (std & pro), Aurora, EBasic.  (Master of none, but it's been fun!)