Contributing Advent 17: Printing stacks
Anybody who is vaguely familiar with Xdebug probably has seen its glorious orange stack traces gracing their screens. In case you have not, they look like:
In this case, the tell_a_lie_and_hurt_you() function tried to call strlen() with incorrect arguments.
Xdebug overloads PHP's internal error handler to do this, but it is also possible to trigger stack traces yourself. You can of course use trigger_error(), but Xdebug also provides the xdebug_print_function_stack() function. Running xdebug_print_function_stack() instead of the erroneous strlen() results in:
As the documentation state, you can also provide your own message:
<?php
function tell_a_lie_and_hurt_you()
{
xdebug_print_function_stack("You have been rickrolled!");
}
Which then results in:
This was all good, and then my friend Rob asked:
hypothetically, how hard would it be to change xdebug_print_function_stack() so that it didn't output the filename and line number in the orange box?
Well, it didn't turn out to be very hard. Rob requested this feature because he was writing his own error handler. And with your own error handler it does not make a whole lot of sense to show where xdebug_print_function_stack() was called from. After my commit, you can now supply a second argument to xdebug_print_function_stack():
<?php
function tell_a_lie_and_hurt_you()
{
xdebug_print_function_stack("You have been rickrolled!", XDEBUG_STACK_NO_DESC);
}
Which then results in a stack trace without header:
This new feature will be part of Xdebug 2.3.
Life Line
On my walk from Aylesbury to Princes Risborough I spotted a few new bird species. I didn't get all the best photos though!
A Common Buzzard, a Yellow Wagtail, a Greater White throat, and a Green Woodpecker.
#photography #Birds #BirdPhotogaphy #BirdsOfMastodon #nature #Buckinghamshire
Updated an alcohol shop
Updated 2 benches
Created a bench; Updated a bench
I hiked 19.0km in 4h35m50s
I hiked 19.0km in 4h35m50s
I walked 6.8km in 1h15m36s
Updated an estate_agent office
I walked 4.1km in 55m33s
I walked 1.1km in 10m05s
My First Lapwing!
I went to the London Wetland Centre yesterday, for a day out in nature.
While hiding in a hide, this chap and a friend showed up starting to forage for grubs.
#BirdPhotography #BirdsOfMastodon #Photography #Birds #London #Nature
Created a waste_basket; Updated a cafe and a restaurant; Confirmed an estate_agent office
I walked 6.6km in 1h8m53s
@bennuttall Are you at the Crucible this year again?
I walked 9.7km in 5h29m12s
Updated a gate
Staring Contest with a Squirrel
On my walk on the weekend, I sat down on a tree branch of a tree that had fallen over some time ago. Just listening to the birds.
Then after hearing rustling in the foliage above me, I looked up, and saw this chap staring at me.
I walked 3.0km in 41m38s
I walked 1.1km in 12m20s
Bluebell Carpet
I had a lovely walk on Hampstead Heath yesterday, finding all the nooks and crannies away from the busy paths.
This field of bluebells under the colourful tree was a stand-out quiet spot.
I walked 2.3km in 21m51s
Fix paths
Created a memorial
Created a bench
@Edent Seems like my Android stopped sending coordinates to @openbenches as well, which is surprising as I haven't updated anything as far as I'm aware. Could it be a problem with the reader in your side after the latest changes and the addition of the warning?





Shortlink
This article has a short URL available: https://drck.me/adv1317-afc