debugging improvements and bug fixes

Description

I have addressed some basic issues with the debugging

  • classic and comment templates no longer worked (just defaulted to modern)

  • updated the comment and classic templates to implement readDebug method like the modern template

To make developing a custom debug template more friendly

  • improved exception information for debug.cfc for unimplemented methods (getId, getLabel, getDescription) which the admin configure template interface relies on

  • show problem template path in exception message for unimplemented methods in Debug.cfc (makes developing a debug template easier)

  • show the debug execution time for the modern template (it was slow)

Performance and integrity fixes

  • varscoping fixes for the modern template, a sample large debug log went from 20s down to 0.5s

  • duplicate the debug log pages data, as the modern template modifies the query and subsequent views of the logs via admin included the changes from the last view, resulting in very wrong statistics

  • no guarantee that the correct debugging log was being displayed (previously just defaulted fell whatever the to lastest log was if the requested log id wasn’t not found)

Environment

None

Activity

Show:
Zac Spitzer
July 8, 2019, 10:06 AM

the cookie checking isn’t reliable due to the cookies potentially being set to a different path and not being available to /lucee/applogs/readDebug.cfm . if the debug log id is a random token, as requested in LDEV-2366, there is no need for cookie checking

Zac Spitzer
September 6, 2019, 8:51 PM
Edited

can this be reviewed as part of the next sprint? The performance improvements for the modern template are huge, one test case I was using went from 20s to 0.5s just from the varscoping fixes.

https://github.com/lucee/Lucee/pull/717

 

Michael Offner
September 6, 2019, 10:29 PM

pulled

Zac Spitzer
September 6, 2019, 10:47 PM

Can you do the linked task too?

Fixed

Assignee

Unassigned

Reporter

Zac Spitzer

Priority

Critical

Fix versions

Affects versions

Configure