I use GWT 2.7 with super dev mode. When it comes to an exception the stack trace looks like the following:
SEVERE: UncaughtExceptioncom.github.nmorel.gwtjackson.client.exception.JsonDeserializationException: Unknown property 'uploadImageId'
at Unknown.AHc_g$(Unknown Source)
at Unknown.vHc_g$(Unknown Source)
at Unknown.OHc_g$(Unknown Source)
at Unknown.VHc_g$(Unknown Source)
at Unknown.aIc_g$(Unknown Source)
at Unknown.gIc_g$(Unknown Source)
at Unknown.rDc_g$(Unknown Source)
at Unknown.qDc_g$(Unknown Source)
at Unknown.vNb_g$(Unknown Source)
at Unknown.nNb_g$(Unknown Source)
at Unknown.oNb_g$(Unknown Source)
at Unknown.pNb_g$(Unknown Source)
at Unknown.gNb_g$(Unknown Source)
at Unknown.fNb_g$(Unknown Source)
at Unknown.$Cc_g$(Unknown Source)
at Unknown.ZCc_g$(Unknown Source)
at Unknown.zOm_g$(Unknown Source)
at Unknown.anonymous(Unknown Source)
at Unknown.ZDe_g$(Unknown Source)
at Unknown.aEe_g$(Unknown Source)
at Unknown.anonymous(Unknown Source)
at Unknown.anonymous(Unknown Source)
at Unknown.anonymous(Unknown Source)
at Unknown.anonymous(Unknown Source)
at Unknown.anonymous(Unknown Source)
at Unknown.anonymous(Unknown Source)How can I get the full stack track deobfuscated with SuperDevMode?
I also use the following flag:
-XmethodNameDisplayMode Full Well this still does not solve the problem!
Well this still does not solve the problem!
logger.log(Level.SEVERE, "RuntimeException", new RuntimeException("2 + 2 = 5"));
GWT.log("RuntimeException", new RuntimeException("2 + 2 = 5"));
And my output is still obfuscated:
Mon Dec 08 18:15:18 GMT+100 2014 buddyisLogger
SEVERE: RuntimeExceptionjava.lang.RuntimeException: 2 + 2 = 5
at Unknown.NOc_g$(Unknown Source)
at Unknown.IOc_g$(Unknown Source)
at Unknown._Oc_g$(Unknown Source)
at Unknown.gPc_g$(Unknown Source)
at Unknown.G_g$(Unknown Source)
at Unknown.L_g$(Unknown Source)
at Unknown.a5i_g$(Unknown Source)
at Unknown._4i_g$(Unknown Source)
at Unknown._g_g$(Unknown Source)
at Unknown.xng_g$(Unknown Source)
at Unknown.bog_g$(Unknown Source)
at Unknown.hog_g$(Unknown Source)
at Unknown.y5i_g$(Unknown Source)
at Unknown.R5i_g$(Unknown Source)
at Unknown.Q5i_g$(Unknown Source)
at Unknown.A_g$(Unknown Source)
at Unknown._hk_g$(Unknown Source)
at Unknown.kNe_g$(Unknown Source)
at Unknown.QMe_g$(Unknown Source)
at Unknown.LMe_g$(Unknown Source)
at Unknown.cNe_g$(Unknown Source)
at Unknown.IMe_g$(Unknown Source)
at Unknown.kLe_g$(Unknown Source)
at Unknown.nLe_g$(Unknown Source)
at Unknown.anonymous(Unknown Source)
at Unknown.callback_0_g$(Unknown Source)
java.lang.RuntimeException: 2 + 2 = 5
at NOc_g$
at IOc_g$
at _Oc_g$
at gPc_g$
at G_g$
at L_g$
at a5i_g$
at _4i_g$
at _g_g$
at xng_g$
at bog_g$
at hog_g$
at y5i_g$
at R5i_g$
at Q5i_g$
at A_g$
at _hk_g$
at kNe_g$
at QMe_g$
at LMe_g$
at cNe_g$
at IMe_g$
at kLe_g$
at nLe_g$
at anonymous
at callback_0_g$
So the short answer is, you need to turn on GWT logging, and use the
Remote stack trace deobfuscator stuff. That means the -aux output in
the SDM directory needs to be seen by your deobfuscation servlet.
I tested the exception handler (https://gist.github.com/jnehlmeier/cddbc476fd330b1d4999)This is what I did:logger.log(Level.SEVERE, "RuntimeException", new RuntimeException("2 + 2 = 5"));
GWT.log("RuntimeException", new RuntimeException("2 + 2 = 5"));
GWT.setUncaughtExceptionHandler(new SuperDevModeUncaughtExceptionHandler());
I use it like this:GWT.setUncaughtExceptionHandler(new SuperDevModeUncaughtExceptionHandler());
--
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-co...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/google-web-toolkit-contributors/e0ebec63-bd88-4f12-b9f3-bbb59fbe4763%40googlegroups.com.
The stack traces that are logged as escaped exceptions (with missing causes) and the ones that are logged by Logger (without inheriting c.g.gwt.logging) will be deobfuscated by Chrome dev tools (if haven't already fixed in Dev channel).Being said that, I don't understand why you are not seeing pretty names for your methods. Are you not using incremental?
On Mon, Dec 8, 2014 at 10:25 AM, Jens <jens.ne...@gmail.com> wrote:
I use it like this:GWT.setUncaughtExceptionHandler(new SuperDevModeUncaughtExceptionHandler());
Then just throw an exception somewhere in your app that you do not catch yourself. The handler does not fix your java.util.logging.Logger or GWT.log() calls.But as you are using Safari you might not get any benefit of it anyways. In that case, as already said, your only chance is to use remote logging and use StackTraceDeobfuscator on a server to make the exception readable.-- J.
--
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+unsubscribe@googlegroups.com.
The stack traces that are logged as escaped exceptions (with missing causes) and the ones that are logged by Logger (without inheriting c.g.gwt.logging) will be deobfuscated by Chrome dev tools (if haven't already fixed in Dev channel).Being said that, I don't understand why you are not seeing pretty names for your methods. Are you not using incremental?
I use GWT-PhoneGap on an iPhone5 and Super Dev Mode. SDM works file. I use the Safari console for logging.
To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit-co...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/google-web-toolkit-contributors/6a0c1571-da4a-4ba5-8ff2-77a68c06e517%40googlegroups.com.
The stack traces that are logged as escaped exceptions (with missing causes) and the ones that are logged by Logger (without inheriting c.g.gwt.logging) will be deobfuscated by Chrome dev tools (if haven't already fixed in Dev channel).Being said that, I don't understand why you are not seeing pretty names for your methods. Are you not using incremental?Not sure who you mean since you answered my mail but for me it is pretty clear:
1.) deobfuscation only works in Chrome 40 (currently beta) and only if you do not inherit Logging/LoggingDisabled but still use Logger to log the exception. AFAICT it doesn't work at all using GWT.log() because currently SuperDevModeLogger only builds a plain String of the Java exception for now.
People might use other browsers, like confile/Michael who develops on his iPhone using Safari.2.) There seem to be a bug in LogImpl.gwt.xml because Logger output does not appear in SuperDevMode if you do not inherit Logging.gwt.xml. At least I wasn't able to make it work in a small app of mine (maybe the superdevmode property is always "off" in incremental mode?)
3.) If you inherit Logging to make Logger work you automatically loose deobfuscated stack traces because the Logger is now configured differently.Can't we streamline it so it always works (at least in Chrome 40) no matter what is inherited and what is not inherited?
---- J.
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-co...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/google-web-toolkit-contributors/b2c274dc-0c28-4e76-befd-7ee17fd3a26a%40googlegroups.com.
2.) There seem to be a bug in LogImpl.gwt.xml because Logger output does not appear in SuperDevMode if you do not inherit Logging.gwt.xml. At least I wasn't able to make it work in a small app of mine (maybe the superdevmode property is always "off" in incremental mode?)This is interesting. Can you provide me something to reproduce this?
Can't we streamline it so it always works (at least in Chrome 40) no matter what is inherited and what is not inherited?That is what I wanted but I was hesitant to touch all other places at the very last minute. Could you file a bug and assign it to me? We should improve this by next release.
--
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-co...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/google-web-toolkit-contributors/0b75d6c5-05d4-4b4c-8d69-f3de7b443a33%40googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/google-web-toolkit-contributors/CAPVRV7dUkJxbLxdDpP9wkeBmswqs4DcUob4PrtpOXG2aeuWwsw%40mail.gmail.com.
We are using pretty naming in 2.7 so even using Safari he should get non-obfuscated names by default. If I'm not missing anything; if he is getting obfuscated names either he is using trunk (not 2.7) or incremental is not enabled.
>>>> an email to google-web-toolkit-contributors+unsubscribe@googlegroups.com.
>>>> To view this discussion on the web visit
>>>> https://groups.google.com/d/msgid/google-web-toolkit-contributors/e0ebec63-bd88-4f12-b9f3-bbb59fbe4763%40googlegroups.com.
>>>>
>>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>>
>> --
>> 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
>> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/google-web-toolkit-contributors/6a0c1571-da4a-4ba5-8ff2-77a68c06e517%40googlegroups.com.
>>
>> For more options, visit https://groups.google.com/d/optout.
>
>
> --
> 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
> To view this discussion on the web visit
>
> For more options, visit https://groups.google.com/d/optout.
--
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+unsubscribe@googlegroups.com.
Chrome seems to lock up for a bit while loading the sourcemap file. But
looking pretty nice.
Anyway, Michael, Gotkug is saying that if you have a browser like
Safari/Mobile Safari that isn't picking up the sourcemaps to show nicer
function names, you should revert to GWT 2.7 final. Or they may
possibly add a "still use pretty names" override if Safari doesn't get
around to showing the nicer, sourcemapped function names.
- Stephen
--
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-co...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/google-web-toolkit-contributors/20141209102726.0ab0315f%40sh9.