Super Dev mode : speed, find source in Chrome, stacktrace of exception

668 views
Skip to first unread message

maticpetek

unread,
Sep 25, 2012, 1:59:16 AM9/25/12
to google-we...@googlegroups.com
Hi,
  We are testing Super Dev mode and the following questions rise to me :
1) every time we change Java code, we have to hit "Dev mode on" button and then "Compile". In best times it took 40 seconds on my computer. And then I have to refresh my browser window. This is not really a magnitude of speed increase agains FF Dev more. Reload usually takes around 50-60 seconds. We have around 160k lines of client code. Is this expect behavior?

2) When we get exception in client code, Dev mode will print out full stacktrace. Is something like this available in SuperDev mode? For example, the following code :

String bla = null;
bla.length(); // Exception

will print "Uncaught TypeError: Cannot read property 'length' of null" in Chrome Console windows, you can get source of compile JS code, but matching this with Java code is practical imposible. 

3) Chrome Development Tools. We have let say 500 java source code files in different packages. How can I find specific class in tree structure? You can find right up the search field ("Search Sources"), but you cannot search by source files. 

Thank you for your help.

Regards,
   Matic

------------------
GWT stuff twitter  - http://twitter.com/#!/gwtstuff

Thomas Broyer

unread,
Sep 25, 2012, 4:44:05 AM9/25/12
to google-we...@googlegroups.com

On Tuesday, September 25, 2012 7:59:16 AM UTC+2, maticpetek wrote:
Hi,
  We are testing Super Dev mode and the following questions rise to me :
1) every time we change Java code, we have to hit "Dev mode on" button and then "Compile". In best times it took 40 seconds on my computer. And then I have to refresh my browser window. This is not really a magnitude of speed increase agains FF Dev more. Reload usually takes around 50-60 seconds. We have around 160k lines of client code. Is this expect behavior?

The goal is 10secs max, but there are known issues (IIUC, generators need to be updated to take advantage of CachedGeneratorResult, and only RPC and ClientBundle generators seem to have been updated for now; but maybe that's expected: they are those generators that generate static files, not only Java classes)
 
2) When we get exception in client code, Dev mode will print out full stacktrace. Is something like this available in SuperDev mode? For example, the following code :

String bla = null;
bla.length(); // Exception

will print "Uncaught TypeError: Cannot read property 'length' of null" in Chrome Console windows, you can get source of compile JS code, but matching this with Java code is practical imposible. 

3) Chrome Development Tools. We have let say 500 java source code files in different packages. How can I find specific class in tree structure? You can find right up the search field ("Search Sources"), but you cannot search by source files. 

Ctrl+O will search by filename. 

Chris Lercher

unread,
Sep 25, 2012, 5:59:37 AM9/25/12
to google-we...@googlegroups.com
On Tuesday, September 25, 2012 7:59:16 AM UTC+2, maticpetek wrote:
2) When we get exception in client code, Dev mode will print out full stacktrace. Is something like this available in SuperDev mode? For example, the following code :

String bla = null;
bla.length(); // Exception

will print "Uncaught TypeError: Cannot read property 'length' of null" in Chrome Console windows, you can get source of compile JS code, but matching this with Java code is practical imposible. 


I'm using remote logging and emulated stack traces (which can print beautiful emulated Java stack traces, containing Java method names and line numbers, even for compiled and obfuscated JavaScript) as explained in http://code.google.com/p/google-web-toolkit/wiki/WebModeExceptions

But what's missing for super dev mode is the possibility to specify the "-extra" argument, which can be specified for the GWT compiler (which is needed to update the symbol maps). Super dev mode's CodeServer currently just says "Unknown argument: -extra". So in super dev mode, this currently leads to output like:

java.lang.Throwable: Some
at Unknown.$collect(Unknown Source)
at Unknown.fillInStackTrace_1(Unknown Source)
at Unknown.fillInStackTrace(Unknown Source)
at Unknown.$fillInStackTrace(Unknown Source)


Thomas Broyer

unread,
Sep 25, 2012, 8:04:10 AM9/25/12
to google-we...@googlegroups.com
That's similar to the issues with *.gwt.rpc files: Super Dev Mode will use a new "extra" folder for each compilation.
I haven't used GWT for weeks unfortunately, but I seemed to remember that JS native stacktraces worked well with source maps (at least being "navigable", if not easily readable)
Reply all
Reply to author
Forward
0 new messages