[gwt-contrib] I'm enhancing GWT to provide Java stack traces for clientside exceptions in production

2013-07-17 Thread Alex Epshteyn
Dear fellow GWT users,

I would like to announce that I have finally solved what I always thought 
to be GWT's greatest weakness: its lack of debugging information for 
client-side exceptions in production.  

With my patch, your deployed app will be able to report stack traces like 
this:

com.google.gwt.core.client.JavaScriptException: (TypeError) : a is null
com.google.gwt.dom.client.DOMImplMozilla.$getBodyOffsetLeft(DOMImplMozilla.java:145)
 
com.google.gwt.user.client.ui.PopupPanel.$setPopupPosition(Document.java:1287)
com.google.gwt.user.client.ui.PopupPanel.setPopupPosition(PopupPanel.java:884)
com.google.gwt.user.client.ui.PopupPanel.PopupPanel(PopupPanel.java:453) 
com.typeracer.commons.client.widgets.EnhancedPopup.EnhancedPopup(EnhancedPopup.java:32)
com.typeracer.commons.client.widgets.PopupWithIcon.PopupWithIcon(PopupWithFocusableTextBox.java:28)
 
com.typeracer.main.client.controller.TyperacerUncaughtExceptionHandler$1.execute(TyperacerUncaughtExceptionHandler.java:55)
 
com.google.gwt.core.client.impl.SchedulerImpl.runScheduledTasks(SchedulerImpl.java:50)
 
etc... :-)


instead of the current state of affairs that looks like this:

lineNumber: 3190 columnNumber: 15354: a is null; (TypeError) fileName: 
 http://localhost:8088/9C4DC2D905BEA407601C92C56B43E3B8.cache.html 
stack: 
@http://localhost:8088/9C4DC2D905BEA407601C92C56B43E3B8.cache.html:2422 
Rub@http://localhost:8088/9C4DC2D905BEA407601C92C56B43E3B8.cache.html:2423 
dSb@http://localhost:8088/9C4DC2D905BEA407601C92C56B43E3B8.cache.html:3190 
tA@http://localhost:8088/9C4DC2D905BEA407601C92C56B43E3B8.cache.html:2810 
Xmb@http://localhost:8088/9C4DC2D905BEA407601C92C56B43E3B8.cache.html:2289 
etc... :-(


I am asking the community to support me in finishing this effort and 
integrating my patch into GWT.  Please take a look and what I've done, and 
consider making a donation:

http://igg.me/at/gwt-stack-traces/x/3494291

I am an indie developer and I just need some funding to continue this work. 
 I'm looking for both grassroots and corporate sponsorship for my quest of 
improving GWT's error reporting and debugging support.

I've written a detailed white paper ( http://goo.gl/YGsrQ ) that describes 
how my solution works and why it is necessary.  I welcome your feedback!

Thanks!
Alex

-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors
--- 
You received this message because you are subscribed to the Google Groups GWT 
Contributors group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit-contributors+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.




Re: [gwt-contrib] I'm enhancing GWT to provide Java stack traces for clientside exceptions in production

2013-07-17 Thread John A. Tamplin
On Wed, Jul 17, 2013 at 4:56 PM, Alex Epshteyn alexander.epsht...@gmail.com
 wrote:

 I would like to announce that I have finally solved what I always thought
 to be GWT's greatest weakness: its lack of debugging information for
 client-side exceptions in production.

 With my patch, your deployed app will be able to report stack traces like
 this:

 com.google.gwt.core.client.JavaScriptException: (TypeError) : a is null

 com.google.gwt.dom.client.DOMImplMozilla.$getBodyOffsetLeft(DOMImplMozilla.java:145)

 com.google.gwt.user.client.ui.PopupPanel.$setPopupPosition(Document.java:1287)

 com.google.gwt.user.client.ui.PopupPanel.setPopupPosition(PopupPanel.java:884)
 com.google.gwt.user.client.ui.PopupPanel.PopupPanel(PopupPanel.java:453)

 com.typeracer.commons.client.widgets.EnhancedPopup.EnhancedPopup(EnhancedPopup.java:32)

 com.typeracer.commons.client.widgets.PopupWithIcon.PopupWithIcon(PopupWithFocusableTextBox.java:28)

 com.typeracer.main.client.controller.TyperacerUncaughtExceptionHandler$1.execute(TyperacerUncaughtExceptionHandler.java:55)

 com.google.gwt.core.client.impl.SchedulerImpl.runScheduledTasks(SchedulerImpl.java:50)
 etc... :-)


 instead of the current state of affairs that looks like this:

 lineNumber: 3190 columnNumber: 15354: a is null; (TypeError) fileName:
 http://localhost:8088/9C4DC2D905BEA407601C92C56B43E3B8.cache.html
 stack: @
 http://localhost:8088/9C4DC2D905BEA407601C92C56B43E3B8.cache.html:2422
 Rub@http://localhost:8088/9C4DC2D905BEA407601C92C56B43E3B8.cache.html:2423

 dSb@http://localhost:8088/9C4DC2D905BEA407601C92C56B43E3B8.cache.html:3190

 tA@http://localhost:8088/9C4DC2D905BEA407601C92C56B43E3B8.cache.html:2810
 Xmb@http://localhost:8088/9C4DC2D905BEA407601C92C56B43E3B8.cache.html:2289

 etc... :-(


So, something like this has been used at least internally for quite a long
time -- what exactly did you have to change in StackTraceDeobfuscator?

-- 
John A. Tamplin

-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors
--- 
You received this message because you are subscribed to the Google Groups GWT 
Contributors group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit-contributors+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.