PureBasic Windows 3.94 beta 1 released!

Developed or developing a new product in PureBasic? Tell the world about it.
freak
PureBasic Team
PureBasic Team
Posts: 5940
Joined: Fri Apr 25, 2003 5:21 pm
Location: Germany

PureBasic Windows 3.94 beta 1 released!

Post by freak »

Hello everybody,

The Windows version now finally gets the promised IDE and Debugger too. :)
This update consists of IDE, Debugger and bugfixes.

Get it at http://www.purebasic.com/ on your personal account.

Note: the compiler interface didn't change much, so it should still work
with jaPBe, but i urge everybody to give the new IDE a try... it rocks :D

Have fun with it, and do a lot of testing...

The PureBasic Team

Code: Select all

-------------------------------------------------------------------------------
PureBasic v3.94 beta 1
-------------------------------------------------------------------------------

Information:
------------
  
  This beta is for testing purpose only. Never assume it to be stable
  or even working. But, we provide it to public beta testing as we don't
  found any bugs anymore and want to be sure to have a correct product before
  release it. Be free to test it with all your program and reports
  any problem to the bug report section, with 'Beta - ' in the title.
  
  We strongly suggest to makes a whole copy of the 'PureBasic' folder
  and install this beta on it, to keep a working distribution. You have
  to install this beta over a regular PureBasic 3.93.
  
  This beta requiers the registered version of PureBasic.
  
  
News:
-----

  - Added: Brand a new IDE and 3 Debuggers (!), see below for more informations
  - Added: Resource file support to the compiler and IDE (/RESOURCE compiler switch)

  - Fixed: MovieLength() and MovieInfo() were incorrect with WMV format (thanks to Traumatic ;-)
  - Fixed: ToolBar disable bug when mixing image and icon with XP skins
  - Fixed: Possible crash when closing a window with a free'ed statusbar or toolbar
  - Fixed: ImageGadget() and ButtonImageGadget() couldn't be used with AnimateWindow_()
  - Fixed: ImageGadget() bug when using DisableGadget()
  - Fixed: LineXY() didn't release memory correctly
  - Fixed: Line() and LineXY() affected the DrawText() position
  - Fixed: SortList() could crash with big already sorted lists
  - Fixed: SetMenuItemState() did change the disable state
  - Fixed: Editable combobox created with #PB_Any didn't handle TAB correctly
  - Fixed: OpenFileRequester() fails if the default filename wasn't correct
  - Fixed: Compiler bug with string concatenation and procedures
  
IDE Features:
-------------

 - all the features of the old PB IDE

Code editing:
  - scintilla is used for the editing gadget (thanks to inner)
  - folding with custom folding marks
  - line markers (bookmarks)
  - hilightning is much faster than with the old ide
  - real tab can be used instead of spaces
  - the case correction and bold keywords can be disabled for the hilightning (was requestet quite a while ago)
  - autocomplete with many options

General editor settings:
  - all shortcuts are fully customizable (also for external tools)
  - the main toolbar is fully customizable (you can even add buttons for external tools)
  - you can fully customize the compiler settings for new files in the Preferences
  - on compiling errors, the correct file with the error is opened and displayed
 
Buildin tools:
  - several tools are available to put on the editor side
  - they can be enabled/disabled and configured in the preferences
  - available tools for this are:
    Procedure Browser
    Ascii Table
    Color Picker
    Variable Viewer
    Explorer
   
  - Structureviewer can now also display predefined constants.
  - buildin fileviewer that can display files from the explorer tool or from doubleclick on "IncludeBinary"
 
External tools:
  - external tools can now have a completly custom shortcut
  - tools can be automatically executed by certain "triggers" like:
     ide startup
     ide shutdown
     before or after compiling a source (the tool can also alter the source that will be compiled by passing a %TEMPFILE.. good for preprocessor like tools)
     before running an allready compiled source
     before or after creating an executable
     after loading a source file
     after saving a source file
  - tools can also be configured to replace the internal fileviewer for all files, for only unknown files,
   or for a specific file extension. this allows you to use your favorite image viewer, or to extend the
   fileviewer with filetypes that it doesn't know.
  - tools can be hidden from the ide menu, if they are executed by a different "trigger"
 
Misc features:
  - internal help viewer for the PB help.
  - all files in the PB help/ subdirectory will be added to a "external help" menu.
   they will be opened with the fileviewer, or if so configured by an external tool that replaces the fileviewer.
  - sizes of lists like "recent files" or the search&replace history can be customized
  - position and size of all ide windows can be memorized
  - search&replace and find in files options extended to not search inside comments or strings
 

New Debugger Features:
----------------------

The Debugger now comes in 3 forms:
  - a Commandline only debugger, for use in a non-gui environment, or for other special purposes
  - a Debugger build directly into the IDE.
  - a Standalone GUI debugger with almost all features of the IDE one, to be used with other Editors

All these debuggers provide:
  - basic program control (Stop/Run, Step, Step repeated a defined number of times, Breakpoints)
  - breakpoints are dynamic and can be set/removed during program execution (CallDebugger is still available to create a fixed (compiled) breakpoint)
  - debug output like the old Windows debugger.
  - display of variables, including local variables and values inside structures.
  - display of Arrays & Linkedlists (in full, or specific ranges only)
  - viewing of memory areas, with the ability to save them as text or raw data
  - a "Callstack" display, displaying all the nested procedure calls, that the current line is inside,
    with the ability to display the local variables of each of these procedures
  - display and modification of the CPU registers (while the execution is halted)
  - display of the Stack contents, with comments for PB function calls
  - display of integer output in either decimal or hexadecimal format.
  - automatic halting of execution at program start or end (for consoledebugger set per config file)
  - the program execution can be continued after minor errors

The console debugger additinally provides:
  - redirection of the debugger output to STDERR, or a file
  - automatic action on errors (ignore, exit, ask, open debugger command console)

The IDE & standalone Debuggers additionally provide:
  - a "Watchlist" feature to keep track of Variables/Array items/Linkedlist items in realtime
  - statistics on the number of calls for each procedure
  - a log window to log events and errors
  - errors are marked in the source for easyer correction later
  - ability to copy/save the Debug output (like the old windows one)
  - view Memory area in hex-display, or as a table (single- or multicolumn) of any type. (for example: table of long values)

The buildin IDE debugger additionally provides:
  - a CPU monitor with information on each debugged program
Last edited by freak on Mon Jun 27, 2005 10:28 pm, edited 1 time in total.
quidquid Latine dictum sit altum videtur
freak
PureBasic Team
PureBasic Team
Posts: 5940
Joined: Fri Apr 25, 2003 5:21 pm
Location: Germany

Post by freak »

Please also look here if you can help translating the IDE user interface:

viewtopic.php?p=91243#91243
quidquid Latine dictum sit altum videtur
thefool
Always Here
Always Here
Posts: 5875
Joined: Sat Aug 30, 2003 5:58 pm
Location: Denmark

Post by thefool »

it looks very nice!
and wow the debugger has some improvements that really kicks ass!

Bugs i found:


1)
I made it crash by enabling all autocomplete features in the list, and enabling automatic opening of autocomplete box.
solution: disable autocomplete for API functions!

2)
when a breakpoint is enabled at a line, it gets this green colour, wich does that you cant see the comments on the breakpointed line!

3)
if i click Clear Breakpoint they dont looks cleared till i refresh the window manually by moving another window in front.

4)
again, the breakpoint doesnt look cleared if you press F9 on the line to remove it, till the window gets repainted.

5)
The watchlist looks weird when no variables/procedures in the running program.

6)
in the structure viewer, the back button doesnt work very well when double clicked on a structure. Also the list is empty

otherwise, its really great!
Last edited by thefool on Fri Jun 03, 2005 4:39 pm, edited 4 times in total.
Bonne_den_kule
Addict
Addict
Posts: 841
Joined: Mon Jun 07, 2004 7:10 pm

Post by Bonne_den_kule »

Nice :)
User avatar
Psychophanta
Always Here
Always Here
Posts: 5153
Joined: Wed Jun 11, 2003 9:33 pm
Location: Anare
Contact:

Post by Psychophanta »

4.0 is approaching :!: :)
http://www.zeitgeistmovie.com

while (world==business) world+=mafia;
User avatar
DoubleDutch
Addict
Addict
Posts: 3220
Joined: Thu Aug 07, 2003 7:01 pm
Location: United Kingdom
Contact:

Post by DoubleDutch »

There seems to be a slight problem with adding tools.

Some of the tools added beore have not transfered across.

When trying to add a tool it doesn't seem to get added properly - ends up as being named blank.

-Anthony
https://deluxepixel.com <- My Business website
https://reportcomplete.com <- School end of term reports system
Num3
PureBasic Expert
PureBasic Expert
Posts: 2812
Joined: Fri Apr 25, 2003 4:51 pm
Location: Portugal, Lisbon
Contact:

Post by Num3 »

YES
Polo
Addict
Addict
Posts: 2422
Joined: Tue May 06, 2003 5:07 pm
Location: UK

Post by Polo »

Cool !
I've got strange results with compiling with JapBe :
I've got a code which is not working ;
"pb_public PB_DEBUGGER_NbIncludedFiles" (with compiler disabled)
the code is working with the debugger on, but not in the same way as when i'm compiling with the new IDE :?
Polo
Addict
Addict
Posts: 2422
Joined: Tue May 06, 2003 5:07 pm
Location: UK

Post by Polo »

Also, when I enable autocompletion, everytime I write the start of a function the editor crash.
thefool
Always Here
Always Here
Posts: 5875
Joined: Sat Aug 30, 2003 5:58 pm
Location: Denmark

Post by thefool »

I found a solution to autocomplete bug, disable autocomplete for API functions!
Polo
Addict
Addict
Posts: 2422
Joined: Tue May 06, 2003 5:07 pm
Location: UK

Post by Polo »

Yeah, you're right :)
For the stuff posted before, i'm wondering what's happening, I can't code anymore with Japbe :cry:
thefool
Always Here
Always Here
Posts: 5875
Joined: Sat Aug 30, 2003 5:58 pm
Location: Denmark

Post by thefool »

i can use japbe..

Code: Select all

OpenConsole()

PrintN("hey")
Input()
End
both with and without debugger that works
Polo
Addict
Addict
Posts: 2422
Joined: Tue May 06, 2003 5:07 pm
Location: UK

Post by Polo »

Yeah, some of my codes work, but some others don't :shock:
thefool
Always Here
Always Here
Posts: 5875
Joined: Sat Aug 30, 2003 5:58 pm
Location: Denmark

Post by thefool »

okay.. i noticed the debugger wont work with the source i posted here neither.. It runs but seems like debugger dont have control over it. it just shows some weird source in the debugger code window

edit:
no weird code though but not the correct, at least:

Code: Select all

#jaPBe_CompilerVersion="3.94 Beta 1"
#jaPBe_IsDebuggerRunning=1
#jaPBe_IsExecute=0
#jaPBe_ExecuteBuild=1
#jaPBe_ExecuteType=0
#jaPBe_OnError=0
#jaPBe_SourcePath=""
#jaPBe_SourceFile=""
IncludePath "C:\Programmer\jaPBe\Include\"
IncludePath ""
IncludeFile "C:\Programmer\PureBasic\Compilers\PB_EditorOutput2.pb"
and debugger has no control over halting the exe or something like that.

but arent these jaPBe errors?
User avatar
Psychophanta
Always Here
Always Here
Posts: 5153
Joined: Wed Jun 11, 2003 9:33 pm
Location: Anare
Contact:

Post by Psychophanta »

What's this :shock:
Is not respected editor preferences :x
and some important things have not been fixed:
look: viewtopic.php?p=91249
:P
http://www.zeitgeistmovie.com

while (world==business) world+=mafia;
Post Reply