[Laszlo-user] [Internal-Dev] File/line information available in backtraces now
Raju Bitter
rbitter at laszlosystems.com
Wed Sep 5 09:24:16 PDT 2007
Great! That's fantastic! Would you like to blog that, Tucker?
Cheers,
- Raju
> Von: Elliot Winard <enw at laszlosystems.com>
> Datum: Wed, 05 Sep 2007 11:42:22 -0400
> An: P T Withington <ptw at pobox.com>
> Cc: "laszlo-user at openlaszlo.org list" <Laszlo-user at openlaszlo.org>
> Betreff: Re: [Laszlo-user] [Internal-Dev] File/line information available in
> backtraces now
>
> This is awesome!
> Even before the file/line info was in the backtraces, they helped me
> track down issue in 3.4->wafflecone porting.
>
> Thanks!
> -e
>
> P T Withington wrote:
>> As of r6361 of Wafflecone, backtraces now include file and line
>> information. This should make it much easier to track down the source
>> of your errors and warnings. You must turn on backtraces in the
>> developer console to get this feature.
>>
>> When backtraces are on, all debugger messages will have a backtrace
>> associated with them and the debugger message will automatically
>> display the file and line information from the top 'user' (non-LFC)
>> frame in the backtrace. This information will _usually_ be useful,
>> but you may still need to inspect the message and expand the backtrace
>> in the message to find your problem.
>>
>> For example, running smokecheck, you will see:
>>
>> ERROR @lzunit/lzunit.lzx#382: Expected: expected 'undefined value'
>> got {}
>>
>> Which reports a line in the lzunit component. This is where lzunit
>> reports the error, but not the actual source of the error; it is the
>> first non-LFC frame. To find the actual source of the error, click on
>> the error message to inspect it:
>>
>> lzx> Debug.inspect(«#LzError#1| ERROR @lzunit/lzunit.lzx#382...»)
>> «#LzError#1#101| ERROR @lzunit/lzunit.lzx#382: Expected: expected
>> 'undefined value' got {}» {
>> backtrace: #LzError <- format <- assertUndefined <- testFailures <-
>> runTest <- run
>> file: 'lzunit/lzunit.lzx'
>> line: 382
>> message: "Expected: expected 'undefined value' got {}"
>> }
>> ERROR @lzunit/lzunit.lzx#382: Expected: expected 'undefined value'
>> got {}
>>
>> And then click on the backtrace to inspect it:
>>
>> lzx> Debug.inspect(«Backtrace(19)| #LzError <- format <- ass...»)
>> «Backtrace(19)#143| #LzError <- format <- assertUndefined <-
>> testFailures <- runTest <- run» {
>> length: 19
>> 0: kernel/LzIdleKernel.lzs#29/16 @lfc/kernel/LzIdleKernel.lzs#32
>> 1: #__idleupdate @lfc/services/LzIdle.lzs#103
>> 2: sendEvent @lfc/events/LaszloEvents.lzs#452
>> 3: checkQ @lfc/services/LzInstantiator.lzs#155
>> 4: makeSomeViews @lfc/services/LzInstantiator.lzs#166
>> 5: makeChild @lfc/core/LzNode.lzs#1022
>> 6: makeChild @lfc/core/LzNode.lzs#1022
>> 7: kernel/LzIdleKernel.lzs#29/16 @lfc/kernel/LzIdleKernel.lzs#32
>> 8: #__idleupdate @lfc/services/LzIdle.lzs#103
>> 9: sendEvent @lfc/events/LaszloEvents.lzs#446
>> 10: removeCallIdleDelegates @lfc/services/LzIdle.lzs#67
>> 11: execute @lfc/events/LaszloEvents.lzs#95
>> 12: runNextTest @lzunit/lzunit.lzx#1148
>> 13: run @lzunit/lzunit.lzx#632
>> 14: runTest @lzunit/lzunit.lzx#668
>> 15: testFailures @lzunit-test.lzl#494
>> 16: assertUndefined @lzunit/lzunit.lzx#499
>> 17: format @lzunit/lzunit.lzx#382
>> 18: #LzError @lfc/debugger/LzMessage.lzs#439
>> }
>> #LzError <- format <- assertUndefined <- testFailures <- runTest <- run
>>
>> Where you can see that the actual source of the error is in frame 15.
>>
>>
>>
More information about the Laszlo-user
mailing list