Real Debugger?

Command line debuggers went out of style decades ago (but never seem to die). Is there any movement to support something more modern? I already hate XCode because of its lame thin shell on top of GDB and inability to display many datatypes, but at least its a little step up. I hate the thought of having to go back in time to work with Corona. I know its probably a lot of work but a decent debugger is so necessary for productivity. I’ve been using IDE based debuggers since 1983 (Turbo Pascal!).

Even QT Creator has a nice debugger (it uses GDB underneath as well). Given you built the framework and with Lua’s easy engine making a minimal IDE like QTC shouldn’t be a big project.
[import]uid: 5179 topic_id: 891 reply_id: 300891[/import]

Seems like one could start with LuaEclipse to integrate Corona with an IDE for example. It even has a debugger. Integrating stuff into Eclipse isn’t very hard and at least it’s cross platform.

[import]uid: 5179 topic_id: 891 reply_id: 2050[/import]

We’re looking at this. LuaEclipse isn’t particularly well documented or supported, and at first glance it didn’t actually work, although that may be because it was created for an earlier version of Eclipse. I do worry about Eclipse’s complexity. [import]uid: 54 topic_id: 891 reply_id: 2055[/import]

Eclipse can be complicated but its a huge community. I used it for a while (when I was a Java architect) and you can keep it reasonably focused. THe benefit is obviously a lot of premade pieces and lots of documentation. You could roll your own (like QT did with Creator) but that’s a lot of work too, especially since you want to support multiple platforms and targets (and QT itself is a bit messy). The downside of course is its Java (if you don’t do Java, although I assume you do since you support Android).

Even if LuaEclipse is a mess you could always borrow concepts from it in your own implementation.

Having a real IDE integrated with your framework would be a great selling point. [import]uid: 5179 topic_id: 891 reply_id: 2065[/import]

Oh, I know Eclipse, I’ve worked with it for years. What I meant was supporting it as a tool for our customers. For example, Eclipse pretty much forces you to work with projects in its workspace, and if you happen to use an external editor, you have to remember to refresh, etc etc. If you’re used to it, it’s fine, but I suspect it would be very unfamiliar to many people. However, we’re exploring this and some other ideas.
[import]uid: 54 topic_id: 891 reply_id: 2066[/import]

True that. I spent most of my time working strictly in Java/Web so I didn’t face that issue.

The Aptana people apparently wrote something that is both an Eclipse Plugin and standalone but its still Eclipse under the hood. Seems hard to find anyone who writes a cross platform customizable IDE by themselves.

TO make it cross platform the easiest thing is to write it in Java. I’ve used QT which is another popular option, but after a while I gave up on it; as a C++ framework its too big and wants you to do things its way. Java these days is fast enough for almost anything.

I wish Jetbrains would extend IntelliJ a little more; its way better organized than Eclipse but a little less extensible.
[import]uid: 5179 topic_id: 891 reply_id: 2067[/import]

Maybe you could leverage http://jedit.org/ [import]uid: 5179 topic_id: 891 reply_id: 2069[/import]

Hi all,

What I really wish to see as Debugger, first of all is an interactive debugging tool instead of a command line one. This means a in-line tracing showing me what is exactly going on. The best example to ilustrate this approach is disassembler tools, where you have a clear view of your code, memory map (hex, text, nul characters), cpu registers, flags, SO API calls, etc.

If you have tried a disassember tool in you life, like z80, 80x86, 6800, pic, etc you will realize what a debugger tool can offer you. Of course, we need something similar to LUA and the ability to map some “ROMs”/APIS of devices that CORONA is working on. Let say iphone/ipod/ipad and Android (by now).

So, we can complement this tool with editors, IDEs and so on, but a real debugger tool, is not an IDE neither a text editor. It should be a tool that can allow me to see my memory leaks, my variables, my memory map, my API calls, my flags (conditional responses), my run cycle and so on to profile and improve App response, functionality and bugs; because we are working on Mobile Devices! where memory, cpu, fps are critical resources. Therefore we need to treat this tool to target those devices as they are, including some background processes to simulate natural cpuload or behavour.

I am sure, CORONA staff can work on it as they already have a simulated environment where they can add some of these capabilities with an extra screen to see all of this information, as a tracer/debugger tool, to see in near-realtime what is going on during app running.

The alternative to this method should be to load native Simulator of SDK (i.e. Apple iPhone Simulator or Android Simulator) where we can use native debugger tool to profile and debug app. But in this case, of course, you will not be able to see your LUA code as expected, because of original simulator nature.

Regards,

Flavio

(apologize me if my english has some mispelling) [import]uid: 3022 topic_id: 891 reply_id: 2120[/import]

A good choice for a serious Lua debugger - that could be enhanced for Corona - is Decoda:
http://www.unknownworlds.com/decoda/
[import]uid: 5750 topic_id: 891 reply_id: 2312[/import]

Decoda is windows only at the moment… [import]uid: 54 topic_id: 891 reply_id: 2314[/import]

It looks nice if you could work with them on a Mac version. [import]uid: 5179 topic_id: 891 reply_id: 2315[/import]

True, but they seem to be keen on licensing the source code. From their comments, it seems it could be ported “easily”.

It’s probably an investment for Ansca, but it looks like a good one. Decoda really works like a little Visual Studio for Lua.
Maybe expanded with a resource manager I can already imagine it as being very close to the XCode IDE. [import]uid: 5750 topic_id: 891 reply_id: 2316[/import]

My vote is for eclipse on this one. First you get a good plugin going with your bundled simulator etc. Once you get a good plugin going you can then wrap your own IDE with the Eclipse-RCP project which is what Aptana did. Basically you can then roll a custom “distro” based on what most people want (git, subversion, lua, corona-plugin). If it’s good enough for Google it’s probably good enough for you guys. We’re still talking about code here even if we are only talking about Lua. I think most people would like to just download something and get up and running quickly. Later come questions like ‘how do i integrate with VCS?’, ‘How good is the debugger’ etc. Bundling a group of useful plugins with your own eclipse distro would be nice for newbies and for hardened bit-twiddlers you can give them a plugin so they can integrate it into their own eclipse setup. [import]uid: 6769 topic_id: 891 reply_id: 2581[/import]

Let me also add that the workspace metaphor just abstracts the concept of files. From a new user perspective, they are just thinking about “projects” and are not concerned about files yet. Being familiar with files and folders I know it’s weird to think in terms of those abstractions. When you are a newbie just learning how to design your app is the first goal then how everything is laid out second which is sorta backwards if you already know the framework. I really liked Visual Studio’s “Solution” abstraction but i digress. Been using eclipse for years and i’m still not a fan but it’s the shiniest turd out there in the world of ‘poo’ that is modern IDEs. Also sorta ubiquitous anymore like Emacs or something if you’re not a microsoft developer. [import]uid: 6769 topic_id: 891 reply_id: 2582[/import]

My vote is for eclipse on this one. First you get a good plugin going with your bundled simulator etc. Once you get a good plugin going you can then wrap your own IDE with the Eclipse-RCP project which is what Aptana did. Basically you can then roll a custom “distro” based on what most people want (git, subversion, lua, corona-plugin). If it’s good enough for Google it’s probably good enough for you guys.

Personal taste but, I tried Eclipse and I must say I’m tired of painfully slow Java desktop applications. I could not believe Java could slow down text editing too… until I run Eclipse. :slight_smile:
If you want to just download something with Lua syntax highlight and a few other things and get going, you have plently of *performing* choices among “power text editors”.

What’s needed here is something that really understands Lua and the Corona API. A visual debugger that lets you navigate table elements and functions, monitors Corona events, points you to all the objects references you created, that tracks weak and strong tables and shows you dependancies and consequently that is able to track garbage and memory release as well. When you write quite lenghty and structured Lua code, that’s what really helps,IMHO.
[import]uid: 5750 topic_id: 891 reply_id: 2585[/import]

I would recommend http://kore.net/ my current company has used there service for our lua debugger. It looks like Decoda but runs 100 times faster being integrated in to our engine. [import]uid: 7177 topic_id: 891 reply_id: 4970[/import]

A modern visual debugger is a much needed addition to Corona. I’m not particular on the technology used to build one, either based on Eclipse or any other, just something where we can visually set breakpoints in code and step through lines of code and stack as well as examine variables and objects. Ideally this would be the foundation of a full blown IDE for Corona, so maybe this would make Eclipse a good choice but at least a basic visual debugger should be a priority in my opinion.
[import]uid: 8692 topic_id: 891 reply_id: 5896[/import]

This is starting to become an annoyance as my program grows, especially since I am still very new to Lua and Corona. A visual debugger would really help me find my errors, much more quickly.

This has been acerbated by the fact that I decided to use the command line debugger (to save time), but does appear to work for an iPad skin.

I see the road map has improve debugger; does that mean a visual debugger? [import]uid: 47723 topic_id: 891 reply_id: 44245[/import]

I’d kill just for a debugger which doesnt close everytime you relaunch the app! D:! I’ve literally pulled all my hair out. [import]uid: 34945 topic_id: 891 reply_id: 46207[/import]

Rule of them: A developer is only as good (or fast) as her debugger. That said, debugging print() statements are pretty darn useful. But I know that I would really love a good debugger too! At the very least, lets get a comment out there in the terminal when we have a mismatch / failure in require " " statements (i.e. failure to load). This strict Apple filename rule has wasted a little bit of time for me, and I think cumulatively for others it’s been painful. It’s beaten up my MOJO and when I got forward momentum going, this is frustrating. Course, a debugger would help us catch this. :wink: [import]uid: 74844 topic_id: 891 reply_id: 46530[/import]