@bowerandy,
@atilim,
@nascode,
@keszegh, I've recorded a short demo that shows various aspects of debugging a Gideros application using ZeroBrane Studio Lua IDE (
http://studio.zerobrane.com/):
http://notebook.kulchenko.com/zerobrane/gideros-debugging-with-zerobrane-studio-ide. The post also includes instructions on how to enable Gideros integration in the IDE. To get Gideros debugging and auto-complete, you will need to get the latest version from the Github repository (I will be packaging a new version with all these features in a few days). This is tested with Gideros 2012.08.4. Please let me know if you run into any issues.
Paul.
Comments
Fantastic stuff!!!
cheers
evs
Author of Learn Lua for iOS Game Development from Apress ( http://www.apress.com/9781430246626 )
Cool Vizify Profile at https://www.vizify.com/oz-apps
Actually, I quite like the Gideros IDE (I think I'm in the minority, perhaps) because it quick, simple and has a rather interesting autocomplete scheme that's a bit quirky but generally gets the job done. The one thing that's missing is the debugger.
I've tried several other debugging solutions for Gideros but in general they require huge IDEs that need you to adopt their own way of working (no, I don't want to use Eclipse) and one thing in particular: as far as I know they don't allow you to do debugging on an ACTUAL DEVICE.
ZeroBrane Studio does this. It's also free, it's lightweight, and there's no installation process. Oh, and I almost forgot: it's got a cool logo. There's also the rather interesting live coding feature, but more on that in another post...
Best regards
Likes: atilim, OZApps, Nascode, plamen
Paul: what are your thoughts and long term plans with your IDE? whats your take on bundling?
I d/l the github version and selected Gideros as the Lua Intepreter.
I loaded the "Sleeping Bodies" sample and tried to run it.
I get this error in the window below:
Can't find gideros executable in any of the folders in PATH: C:\Program Files\NVIDIA Corporation\PhysX\Common, C:\Program Files\Common Files\Microsoft Shared\Windows Live, C:\WINDOWS\system32, C:\WINDOWS, C:\WINDOWS\system32\WBEM, C:\WINDOWS\system32\WindowsPowerShell\v1.0, C:\Program Files\Microsoft SQL Server\100\Tools\Binn\, C:\Program Files\Microsoft SQL Server\100\DTS\Binn\, C:\Program Files\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\, C:\Program Files\Common Files\Roxio Shared\DLLShared\, C:\Program Files\Gideros, \Program Files\Gideros
I have installed Gideros in "D:\DEV\A1New\Gideros" so obviously the IDE is not finding it.
After doing a search I found a file called gideros.lua in the ZeroBrane\interpreters\ folder:
require('mobdebug').start()
Obviously there is an issue with finding the path in ZeroBrane and this can easily be fixed so the user can set any path to Gideros manually instead of looking at the PATH variable. Better still use the path value stored in the Registry at:
[HKEY_CURRENT_USER\Software\Gideros]
Update
I shd RTFM
I added a file in the cfg\user.lua with the line
The two aspects I want to think about are: (1) the IDE is in an active development stage with almost daily changes, which means that some of the APIs may change (and a bundled version may require an update anyway), and (2) I'm exploring making the project a donationware to make it more sustainable long-term. I'll let you know what I come up with.
@nascode, what platform are you on? I just tested on Windows and the debugging works with the most recent version of Gideros.
I'll probably add a check when strict.lua is present and register those variables to avoid this issue.
If you want, you can also change global print as:
Edit: You're on windows, right? If you want, I can build the plugin for Mac.
Likes: atilim
http://www.nightspade.com
http://www.nightspade.com
Thanks
Pete
You can also try starting the player from the command line to see if it's working. Try running the player and the bridge with the following commands:
1. start "player" "C:\Program Files (x86)\Gideros\GiderosPlayer.exe"
2. "C:\Program Files (x86)\Gideros\Tools\gdrbridge.exe" isconnected
This should show something like
* daemon started successfully *
0
3. "C:\Program Files (x86)\Gideros\Tools\gdrbridge.exe" play "D:\gideros\Examples\Box2D_basic\Box2d_basic.gproj"
This should open your project in the player (you may need to adjust your .gproj file name. If it all works, you can shutdown the player and try again in ZBS.
If it still works when running the player directly, but doesn't work from ZBS for some reason, you can try the following:
1. Start ZBS and start the debugger server by going to Project | Start Debugger Server
2. Add "require('mobdebug').start()" to your main.lua script
3. Create a batch (player.bat) file with the following to start the player (change ZBS path to match yours):
set ZBS=D:\ZeroBraneStudio\
set LUA_PATH=%ZBS%lualibs/?/?.lua;%ZBS%lualibs/?.lua
start "Player" "C:\Program Files (x86)\Gideros\GiderosPlayer.exe"
4. Run the batch file and then run gdrbridge.exe command to start your project. This should start the debugging in the IDE.
Fragmenter - animated loop machine and IKONOMIKON - the memory game
I then tried the batch file method and by running the gridge.exe commond to start the project twice, the project started. But then, in debugging mode, I can't edit the project (I guess that's how it is?) but stopping debugging mode closed the player. If I tried starting debugging again from ZBS then I got my same old 'Failed to kill process xxxx (error 5: access is denied)' pop up so I had to go through the whole batch file etc to get it going again.
I'm not much good when I'm having to do stuff like this and haven't got enough time at the moment to fiddle. ZeroBrane does look good so I will give it another go soon when I've got more spare time.
Thanks for all your help, Pete
@petec, yes, the project can't be edited while the debugging is on. If you are looking for live changes (something like @bowerandy showed in his demo), then *after* starting debugging from the player, you need to select Project | Run As scratchpad, which should enable live coding. Keep in mind that you may need to structure your code in a specific way to work better with live coding. You may look at Andy's demo and code at http://bowerhaus.eu/blog/files/live_coding.html