Corona CIDER Advanced Debugger with IDE - v 1.5.1- Update

461 replies [Last post]

Replies

marble68
User offline. Last seen 26 weeks 6 days ago. Offline
Joined: 7 Jan 2011

Feature Requests:

Autocomplete for variables. With a CTRL+Space, I can get a list of functions but Variables would be helpful.

Line or Selection duplication. Many editors will duplicate a line of code with a CTRL+D, or whatever you have selected. This is very helpful with debugging.

Just bought Cider, love this tool so far.

corona706
User offline. Last seen 6 years 12 weeks ago. Offline
Joined: 15 Dec 2011

I got your email before I found this post. Thanks for the quick response!

gray.uk
User offline. Last seen 6 years 51 weeks ago. Offline
Joined: 5 Jul 2011

@M.Y.

Awesome work people.

This just gets better and better.

re code highlighting: are there plans (assuming it's possible) to have the corona keywords highlighted?

krystian9
User offline. Last seen 10 weeks 4 days ago. Offline
Joined: 1 Mar 2011

@M.Y. bought Cider yesterday - great stuff! I just don't understand now how someone can use Corona without it :)

btw - you did mention you want to integrate profiler into Cider - any time soon?

M.Y.developers
User offline. Last seen 3 years 1 week ago. Offline
Joined: 24 Apr 2011

@marble68
Autocomplete for variable
We will implement this in an upcoming update.

Line or Selection duplication
It is a bit different in Cider. Just select something and do ctrl-shift- up (or down). this will duplicate the line or selection above or underneath. You can chain it together too. Ie pressing cntrl-up 4 times will duplicate it 4 times above the line.

@corona706,
No problem. Update is now live. Please confirm the problem is fixed.

Regards,
M.Y. Developers

M.Y.developers
User offline. Last seen 3 years 1 week ago. Offline
Joined: 24 Apr 2011

@gray.uk,
sure! Now that all the apis are in the autocomplete, this should be easy to do.

@krystian9,
Thanks for trying out Cider! We want to finish the base IDE first and then we will work on getting the Profiler integrated. Most likely this will be its own module as this may take as much development time as the IDE itself.

Thanks,
M.Y. Developers

gray.uk
User offline. Last seen 6 years 51 weeks ago. Offline
Joined: 5 Jul 2011

@M.Y.

So, using the colour picker...

Select values including alpha, right-click and choose colour picker?

On the rgb tab there's no alpha value - it defaults your colour choice to an alpha of 255?

(Windows version)

flyingaudio
User offline. Last seen 5 years 40 weeks ago. Offline
Joined: 24 Mar 2011

Just played with the newest update, 1.4.1. Instead of commenting on the highend stuff like the call stack, I have to say something about the beauty of CIDER's hightlighting.

When clicking a var, the page lights up with them. Very useful. And if I click on a function, like in an event listener, and the function is off the screen, I can just look at the Navigator panel, and double click on the function name there, and presto, my edit window is highlighting the function. Navigation is sweet, as CIDER should be.

And the color picker, niiiiiice.

krystian9
User offline. Last seen 10 weeks 4 days ago. Offline
Joined: 1 Mar 2011

Tried 1.4.2 this morning on sample project to test stack traces and got:

update: this happens with Corona SDK #776; in Corona SDK #704 it works properly!

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
debugger started        
----------------------------------------------- 
breakpoint      
Runtime error
        ...nsProjects/Ghost-vs-Monsters---OOP/CiderDebugger.lua:185: attempt to call field 'Null' (a nil value)
stack traceback:
        [C]: in function 'Null'
        ...nsProjects/Ghost-vs-Monsters---OOP/CiderDebugger.lua:185: in function 'serializeDump'
        ...nsProjects/Ghost-vs-Monsters---OOP/CiderDebugger.lua:182: in function 'serializeDump'
        ...nsProjects/Ghost-vs-Monsters---OOP/CiderDebugger.lua:182: in function 'serializeDump'
        ...nsProjects/Ghost-vs-Monsters---OOP/CiderDebugger.lua:337: in function 'writeVariableDump'
        ...nsProjects/Ghost-vs-Monsters---OOP/CiderDebugger.lua:402: in function 'p'
        ...nsProjects/Ghost-vs-Monsters---OOP/CiderDebugger.lua:667: in function <...nsProjects/Ghost-vs-Monsters---OOP/CiderDebugger.lua:550>
        ...an/NetBeansProjects/Ghost-vs-Monsters---OOP/main.lua:92: in function 'initialize'
        ...an/NetBeansProjects/Ghost-vs-Monsters---OOP/main.lua:115: in function 'main'
        ...an/NetBeansProjects/Ghost-vs-Monsters---OOP/main.lua:128: in main chunk
Runtime error: ...nsProjects/Ghost-vs-Monsters---OOP/CiderDebugger.lua:185: attempt to call field 'Null' (a nil value)
stack traceback:
        [C]: in function 'Null'
        ...nsProjects/Ghost-vs-Monsters---OOP/CiderDebugger.lua:185: in function 'serializeDump'
        ...nsProjects/Ghost-vs-Monsters---OOP/CiderDebugger.lua:182: in function 'serializeDump'
        ...nsProjects/Ghost-vs-Monsters---OOP/CiderDebugger.lua:182: in function 'serializeDump'
        ...nsProjects/Ghost-vs-Monsters---OOP/CiderDebugger.lua:337: in function 'writeVariableDump'
        ...nsProjects/Ghost-vs-Monsters---OOP/CiderDebugger.lua:402: in function 'p'
        ...nsProjects/Ghost-vs-Monsters---OOP/CiderDebugger.lua:667: in function <...nsProjects/Ghost-vs-Monsters---OOP/CiderDebugger.lua:550>
        ...an/NetBeansProjects/Ghost-vs-Monsters---OOP/main.lua:92: in function 'initialize'
        ...an/NetBeansProjects/Ghost-vs-Monsters---OOP/main.lua:115: in function 'main'
        ...an/NetBeansProjects/Ghost-vs-Monsters---OOP/main.lua:128: in main chunk

M.Y.developers
User offline. Last seen 3 years 1 week ago. Offline
Joined: 24 Apr 2011

@gray.uk,
You must be running a different version of java than we are. No worries, we will include the color picker libraries in an update.

@flyingaudio,
Glad you like it! Thanks for the feedback.

@krystian9,
Thank you for letting us know of the problem. Not sure why the JSON library is changing from build to build but we will fix the issue asap.

Regards,
M.Y. Developeres

M.Y.developers
User offline. Last seen 3 years 1 week ago. Offline
Joined: 24 Apr 2011

@All,

The problem should be fixed in the patch.

Thanks,
M.Y. Developers

krystian9
User offline. Last seen 10 weeks 4 days ago. Offline
Joined: 1 Mar 2011

@M.Y.:

fix confirmed! you guys provide awesome support!

M.Y.developers
User offline. Last seen 3 years 1 week ago. Offline
Joined: 24 Apr 2011

@krystian9

Thank you! We are glad to know the problem is solved. Please let us know if you come across any more issues. Thanks for your support!

Regards,
M.Y. Developers

dataskrekk
User offline. Last seen 4 years 38 weeks ago. Offline
Joined: 7 Dec 2011

Cider seems to be more stable now, less crashes on mac, so I am looking into trying it with an actual project.

Can size and line spacing of the corona terminal output be specified, right now font is extremely small and line spacing very narrow on my screen and I cannot really read it. Thanks.

M.Y.developers
User offline. Last seen 3 years 1 week ago. Offline
Joined: 24 Apr 2011

@une.ulvedal,
Thanks for your interest. Yes we are getting all the kinks worked out and we are using Cider for our own projects as well.


Can size and line spacing of the corona terminal output be specified

Yes, if you right click in the output window you can change the font. Easiest way to change the size is ctrl-zoom on it. You can do this with both the output window as well as the editor pane.

Thanks,
M.Y. Developers

flyingaudio
User offline. Last seen 5 years 40 weeks ago. Offline
Joined: 24 Mar 2011

Bug report:
Folding issue:
if a == b then -- press enter here to duplicate
end

If the fold marks are in place, then pressing enter on the first line, at the end of the line (after 'then' in this case), will cause the minus to move down and a new one will appear at the 'if' line.

This happens with functions also.

XORKH1
User offline. Last seen 7 years 6 days ago. Offline
Joined: 12 Mar 2012

I've been trying Cider, so far pretty impressive but debugger doesn't work when I try my project. Do you support games that use level content files?

My Carona game uses content files build via a level builder. The game works fine except in debug mode.

I am using
require("CiderDebugger")
Tried different snapshot intervals.

I can give you the source code (it's from online tutorial) if required.

Error:

waiting for netbeans debugger initialization
debugger started
[..\..\..\..\src\libmpg123\parse.c:529] error: Giving up searching valid MPEG header after (over) 64K of junk.
[..\..\..\..\src\libmpg123\parse.c:1018] error: Frame size too big: 21166
[..\..\..\..\src\libmpg123\parse.c:529] error: Giving up searching valid MPEG header after (over) 64K of junk.
waiting for netbeans debugger initialization

M.Y.developers
User offline. Last seen 3 years 1 week ago. Offline
Joined: 24 Apr 2011

@flyingaudio,
Thanks for pointing that out, we will look into it.

@XORKH1,

Thank you for your interest!

Tried different snapshot intervals.

For large projects please set the snapshot interval to -1 (disable). It may be prohibitively slow to use in this case. You will still be able to step back when you pause and use the step commands.

Please send us some example files and we will be glad to look at it. We have never seen that error before. Our email is:
mydevelopergames@gmail.com

Thanks,
M.Y. Developers

BoarK
User offline. Last seen 5 years 12 weeks ago. Offline
Joined: 20 Jan 2011

@M.Y.developers

BUG REPORT:

I would like to change the key assignment for the code completion popup from Ctrl-SPACE to Meta-SPACE but it does not work. The changes are not saved after clicking OK.

Pls check.
Thanks.

marble68
User offline. Last seen 26 weeks 6 days ago. Offline
Joined: 7 Jan 2011

BUG REPORT:

When opening lua files on a network share - Cider can lose it's ability to open the file. Specifically - I have my projects on a mac and run Cider on a windows computer. When I save the file, the corona simulator restarts on the mac.

This appears to be conflicting with Cider - it then reports an erroneous "file is invalid" message. It won't let me save to the file of the same name, or anything like that.

It says:
File P:\corona\project\filename.lua@57c642a6:1f5e4b6[invalid] is not valid

I then have to restart Cider. It doesn't do this if I close the Corona Simulator on the mac.

gravityapple
User offline. Last seen 6 years 28 weeks ago. Offline
Joined: 15 Jan 2012

Am I the only one who has the following problem?:

If I run or debug my application, the simulator starts together with the Corona simulator output (terminal window).

It shows the message:

Windows simulator build date: Dec  9 2011 @ 14:01:29

Copyright (C) 2009-2011  A n s c a ,  I n c .
        Version: 2.0.0
        Build: 2011.704

followed by:

Copyright (C) 2009-2011  A n s c a ,  I n c .Version: 2.0.0Build:2011.704

Which is basically the same as above but all the line breaks are broken. After this, any print statements appear on the same line until there's no space and they fall off the screen.

Why does it run twice and cause the copyright info to be shown twice?

This doesn't just happen in CIDER IDE, identical problem through intellij.

Windows 7 64bit
Java version 1.6.0_30

If I run CoronaSimulator through the windows terminal and pass my projects main.lua file, it runs once and shows output correctly.

Any ideas? I was hoping CIDER would allow me to get around this problem.

M.Y.developers
User offline. Last seen 3 years 1 week ago. Offline
Joined: 24 Apr 2011

@All,
Here is a quick preview of the integrated documentation we plan to release later today. CIDER will soon come with full mirror of the Corona API documentation and will automatically pull it up as you type. See image below.

@BoarK,
In our Mac, meta-space was reserved for the spotlight search. We were able to successfully change it to something else however. Are you still having the issue?

@marble68,
Please ensure that you are not stuck at a breakpoint. Sometimes the corona simulator requires a file lock on the source files during the initial compilation and when it is halted by the debugger. This may result in the inability to save the file.

@gravityapple,
This seems to be a bug when the simulator is called from another process. We are not sure why this occurs but you should be able to read the output of the program in the "Corona Simulator" output tab at the bottom of your screen. You may have to change the tab to find it. It will highlight errors in red and print out everything you would see in the console. You can also, zoom, search, or save the contents to a file.

Regards,
M.Y. Developers

Juf Jannie
User offline. Last seen 19 hours 10 min ago. Offline
Joined: 29 Oct 2011


I know I already asked this but not sure, reading back, that it is clear what I asked. I know this is not a high priority.

Will a selection option like in the image be a future option?
Really handy to change a lot of code at once.

This screenshot is from sublime, but other editors support this as well. i think xCode does too.

M.Y.developers
User offline. Last seen 3 years 1 week ago. Offline
Joined: 24 Apr 2011

@T.alberga,
Is this what you are looking for?

Regards,
M.Y. Developers

Yokel Games
User offline. Last seen 5 years 3 weeks ago. Offline
Joined: 6 Aug 2011

hey guys - love the work!!!

Just a quick question, is there any way to speed up debugging by disabling certain features or something? I have set the snapshop interval to -1, but is there anything else I can do. Its just that my project takes about 3-4 mins to compile when I include the CiderDebugger.lua.

Thanks again !!!
E.

Juf Jannie
User offline. Last seen 19 hours 10 min ago. Offline
Joined: 29 Oct 2011

Yes!,
Was this always in there? Now I won't use sublime any more :)
Function navigator is on par with the Side bar navigation in Sublime. Thanks for showing me where it is!

M.Y.developers
User offline. Last seen 3 years 1 week ago. Offline
Joined: 24 Apr 2011

@Yokel Games,
Yes indeed there is. Perhaps the best way is to use the file filter feature. Please go to options (or prefs)-> Corona Options -> Debugger and in there you will see a subsection called debug filter. Here you can add anything (comma separated) and the Cider debugger will skip it as much as possible. This is more for bypassing computationally intensive lua files (ie pathfinding.) We will add an option for bypassing loading as it seems this is the main problem for you. We will include this in the next update.

@T.alberga,
Glad you like it! Yes it was always there but it is a bit hidden. We will include this in the written documentation we are working on.

Regards,
M.Y. Developers

Pinback
User offline. Last seen 7 years 4 weeks ago. Offline
Joined: 3 Mar 2010

First let me state that I *LOVE* Cider. It has saved me a ridiculous amount of time on my current project.

I do have one request though. The listing of variables while running the debugger is hyperactive. As I step from line to line, the variable listing resets back to the top. So if I'm trying to keep track of what is happening with a particular variable farther down the list, I have to step to the next line of code, then scroll back down the variable list to the variable I was keeping track of. Print statements are almost easier at this point. Can you either make the variable list stop refreshing to the top as I step through the code, or allow us to "freeze" it somehow? (Or tell me how if it does already and I just haven't figured it out yet!)

Thanks much...

M.Y.developers
User offline. Last seen 3 years 1 week ago. Offline
Joined: 24 Apr 2011

@All,
Version 1.4.5 is live. New in this release:
-Documentation view. CIDER now comes with all the Corona API docs built in. No more waiting for API pages to load just for syntax. Documentation will update automatically as the autocomplete narrows your search. If you want to get documentation for a preexisting function, just highlight it and press ctrl-space.

-Important! Debugger startup options. The most computationally intensive task in your app is probably startup. You can now instruct the Cider debugger to skip all initialization code and only start debugging on the first enterframe event (or timer equivalent.) See screenshot below:

Regards,
M.Y. Developers

M.Y.developers
User offline. Last seen 3 years 1 week ago. Offline
Joined: 24 Apr 2011

@Yokel Games,
v 1.4.5 has the startup options that will specifically address your issue. Please let us know if it mitigates the problem.

@Pinback,
Thanks for the feedback! We have noted the problem. We will work on some solution for the next patch.

Thanks,
M.Y. Developers

Antheor
User offline. Last seen 3 years 17 weeks ago. Offline
Joined: 22 Sep 2010

I know it's may be not on the top needed feature, but where do you plan to polish text rendering ?

Code blur is something that just prevents me from using Cider...., maybe you could take ideas from textmate, or, still better, from sublime2 ( text is pixel perfect lean and distract free view is cool)

krystian9
User offline. Last seen 10 weeks 4 days ago. Offline
Joined: 1 Mar 2011

@Antheor, if you're on Mac - change default font to Monaco 12px. Did the trick for me.

gray.uk
User offline. Last seen 6 years 51 weeks ago. Offline
Joined: 5 Jul 2011

As ever, amazing improvements on a daily basis.

Looking forward to seeing if you can get the Corona keywords to appear in a different colour to make my amateur code more readable.

Keep up the great work.

Antheor
User offline. Last seen 3 years 17 weeks ago. Offline
Joined: 22 Sep 2010

Thx for the tip krystian, still the rendering is blurry and far from other tools ;)

gravityapple
User offline. Last seen 6 years 28 weeks ago. Offline
Joined: 15 Jan 2012

Thanks M.Y.developers, output is working fine there. Great job! Look forward to using it more.

Juf Jannie
User offline. Last seen 19 hours 10 min ago. Offline
Joined: 29 Oct 2011

I am using sublime and Cider I see no difference in sharpness. Did you match the colours of the app?
I have a light colour scheme maybe that makes a difference?

Juf Jannie
User offline. Last seen 19 hours 10 min ago. Offline
Joined: 29 Oct 2011

Is there a way to see the image size when you double click an image? There are the options to scale the image but knowing what size it is would help when inserting it as an imagerRect.

Oh and the coordinates within the image ;)

Antheor
User offline. Last seen 3 years 17 weeks ago. Offline
Joined: 22 Sep 2010

Actually, an uncheck anti alias would be enough...

M.Y.developers
User offline. Last seen 3 years 1 week ago. Offline
Joined: 24 Apr 2011

@Antheor,
We think the version we just uploaded may fix your issue. It is very difficult for us to solve it b/c we do not have the issue. Please download and confirm. Also, Cider should reflect your system settings. Do you have cleartype on?

@gray.uk,
Thanks for the tip! we will work on it.

@krystian9,
Glad things are working well for you.

Regards,
M.Y. Developers

deniz
User offline. Last seen 1 week 1 day ago. Offline
Joined: 22 Nov 2010

First of all; thats an incredible effort and wonderful work, well thank you. But, cider has some serious problems dealing with serializing debug data. I have a very big project which uses enough data to crash your serialization routines. This is very sad, as I want to use a real debugger so much. (damn, I hate those print statements..)

Do you have any plans to overcome those serialization issues which causes stack overflows? I would love to send you code snippets, but its a clients work, and has some strict licence requirements which prevent us to send working code outside.

Thank you for your efforts.

deniz.

M.Y.developers
User offline. Last seen 3 years 1 week ago. Offline
Joined: 24 Apr 2011

@deniz,

Thanks for your interest.
You bring up an excellent point! We will put an option for sending incremental serialization in an update. The only limitation here is that you will not be able to use the step back methods when this is enabled (as this requires a full dump). Can you give us more details as to where the error occurs? Any particular function?

Thanks,
M.Y. Developers

deniz
User offline. Last seen 1 week 1 day ago. Offline
Joined: 22 Nov 2010

I do not have access to my development environment for now, but as I remember; the problem is serializeDump() calls from writeVariableDump() function. This function calls serializeDump() and inside of it, there are recursive calls which cause stack overflows against a fat _G[]

M.Y.developers
User offline. Last seen 3 years 1 week ago. Offline
Joined: 24 Apr 2011

@deniz,

Thanks for the info.
About how many elements does the _G[] have? We will see about making the method non-recursive. That is going to be tricky though.

Thanks,
M.Y. Developers

Antheor
User offline. Last seen 3 years 17 weeks ago. Offline
Joined: 22 Sep 2010

My pb is on my mac (I guess cleartype is on windows). I try to make 2 screens capture to show you :

http://dl.dropbox.com/u/67104046/sample_cider.tiff

and

http://dl.dropbox.com/u/67104046/sample_textmate.tiff

gray.uk
User offline. Last seen 6 years 51 weeks ago. Offline
Joined: 5 Jul 2011

When you don't have any more pressing issues to sort out, there's still no alpha option on my colour picker here.

You mentioned in post #260, that I might have a different version of Java than you so I made sure I had the latest version available to me: Version 6 Update 31.

Perhaps you could include the colour picker libraries for me in a future update as mentioned in #260.

Thanks

deniz
User offline. Last seen 1 week 1 day ago. Offline
Joined: 22 Nov 2010

@mydevelopers

You know the famous table_print function. I simply modified it to count number of top level tables and all value objects.

Final results for _G:
tableCount: 167
valueCount: 1306

As a side note: I also counted recursion depth of your dump function. It throws a stack overflow exception when recursion depth is 61.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
tableCount = 0
valueCount = 0
 
local tCount, vCount = table_print(_G)
 
function table_print (tt, indent, done)
  
  done = done or {}
  indent = indent or 0
  if type(tt) == "table" then
    tableCount = tableCount + 1
    for key, value in pairs (tt) do
      io.write(string.rep (" ", indent)) -- indent it
      if type (value) == "table" and not done [value] then
        done [value] = true
        io.write(string.format("[%s] => table\n", tostring (key)));
        io.write(string.rep (" ", indent+4)) -- indent it
        io.write("(\n");
        table_print (value, indent + 7, done)
        io.write(string.rep (" ", indent+4)) -- indent it
        io.write(")\n");
    else
               valueCount = valueCount + 1
        io.write(string.format("[%s] => %s\n",
            tostring (key), tostring(value)))
      end
    end
  else
    io.write(tt .. "\n")
end
 
return tableCount, valueCount
end

Yokel Games
User offline. Last seen 5 years 3 weeks ago. Offline
Joined: 6 Aug 2011

@mydevelopers

Thanks guys - my project is starting up WAAAYYY faster now !!!!

Awesome work.

Juf Jannie
User offline. Last seen 19 hours 10 min ago. Offline
Joined: 29 Oct 2011

Not sure if this known. But when I use code folding, the search option doesn't seem to work as well anymore.

When I type "en" all the words with it show up.
When I finish typing it "end" it tells me not present.
I am pretty sure my code uses the word end several times.

I started reading, but 6 pages of comments is just too much now.

M.Y.developers
User offline. Last seen 3 years 1 week ago. Offline
Joined: 24 Apr 2011

@deniz,
The update no longer uses recursive variable dump. Can you try it again?

@Yokel Games,
Glad it fixed the issue!

@T.alberga
We were not able to replicate this. The code automatically unfolds when we search for it. Can you give more info?

Thanks,
M.Y. Developers

rubs
User offline. Last seen 5 years 16 weeks ago. Offline
Joined: 12 Sep 2010

Hi there!, after last update I'm getting this error whenever I try to run my project with debug enabled:

he file sandbox for this project is located at the following folder:
(/Users/rubs_eguan/Library/Application Support/Corona Simulator/project1-157D3EF74024E66CE529E37B443D648E)
Runtime error
...opbox/Desarrollo/CoronaSDK/project1/CiderDebugger.lua:65: attempt to index global 'CiderRunMode' (a nil value)
stack traceback:
[C]: ?

Thanks in advance!.

Viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.