Who's OnlineWe have 28 guests online
Help support us
|Support - Manuals|
|Written by Skidz Tweak|
|Tuesday, 28 July 2009 11:23|
Skidz Partz - Debugz
***CONGRATULATIONS** on finding Skidz Partz Deubz Tool!!
Many of you know, I am not much of a builder, but I can really script well.
This is a tool I will use every day for the rest of my life in Second Life.
After using it just a week I blew my own mind with how handy this little script is.
What is it?
Its a script debugger. Dropping this script into any object turns it into a information power house!
* Single script, drop it in and it works
* Displays over 9000 characters of debug data
* Quickly find mistakes and errors
* Uses the new HTTPIn to help organize the information
* Quickly filter the data to narrow down the information
* Add channels to listen to
* Can record error thrown by other scripts (of course this one will never error)
* 20 different events with their variables displayed
* Common function data is displayed on certain events as well
* Separators to clearly indicate changes since last you looked
* Millisecond timestamps
* Felt like my production doubled after just using it one day
* Built in API allows you to build applications to compliment it
* Remove all the Debug scripts quickly
* Even bigger plan in store
* Free updates for life
Why do I need this? Scripters?
If your a scripter you will find this your new best friend.
Being able to see the data in a structured format allows you to quickly track down errors, and see the most resource consumption is.
Why do I need this? Learning to Script?
This is the perfect tool to help you learn to script.
See in real time what events get fired.
Test function without writing out tons of code just to see them work
Why do I need this? Reverse Engineer?
This is great for taking a peak to see how others products work.
A great example would be if you wanted to add a holo projection system to your vendors.
Dropping this script in would allow you to watch events and linked messages in that vendor that you could later use in your own script to fully customise your vendor.
Set out the Skidz Partz - Debugz (boxed). Right click it and choose "Open" from the pie menu.
When you see the list of contents finish loading, click the blue button that says, "Copy Contents to Inventory."
You will now find the "Skidz Partz - Debugz (boxed)" contents in your inventory.
How to use:
1. Drop the script into any object.
2. When dropped into the object it will say a URL of the debug page, open it.
3. Refresh the page to see updates
How to read the data:
1. Open the URL that the script says when you drop it in
2. The first line always say the object name, then the object key with a separator of "~|"
3. A line with only a dash "-" indicates when you last loaded the web page. This makes it easy to see changes that have occur ed since the last time you looked at the data
4. When an events is fired it will display inside the output. Events are displayed with a timestamp then a "-" and finally the event with parameters exactly like they are called.
5. Certain events will trigger some function to display in the output. Functions are displayed with a timestamp then a "-" and finally the function call and parameters with a "=" then the results
Example: 15:33:47.083376Z-llDetectedTouchPos(0)=<245.79110, 251.98530, 704.08830>
How to remove the scripts:
Say "/2147483647 REMOVE"
Why that channel? Its the debug channel which the script is already listening too
How to filter the data:
When you get the URL from the script it ends with "?Filter=&Channel="
Type what you would like to filter the debug information by after the "Filter=" part
For Example: "/Debug?Filter=apple pie&Channel="
Click enter after making the changes to the URL
With the example above only information with the word "apple pie" will now be recorded to be displayed
You could just as simply use an event name or other data your scripts may be passing around
Click reload to see your changes apply for the new debug information
How to listen on a channel:
Its very similar to using the Filter feature.
On the very end of your URL place the number you would like to listen to
Then press enter. You can test this by saying something on this channel
Then reload the page to see that information displayed in the log
Note about Filters and Channels:
Filters and channels are applied when the page is loaded with the filter and channel applied to the URL.
If you reload the debug log page URL without passing in the same filter and channel data as before, the filter and listening of that channel will stop.
Do no alter the query string of the URL in anyway besides described above. To reduce memory it has to be exact.
The API (Application Protocol Interface) allows you to build application on top this script.
The API Channel is: 954722
Over this channel the URL for the debug page is announced.
How to send debug data to the log.
Its as simple as sending a linked message:
llLinkMessage(-4,0,"Some extra debug data",NULL_KEY);
How I do it:
integer debugging = TRUE;
if (debugging) llLinkMessage(-4,0,message,NULL_KEY);
SendDebug("Some extra debug data");
There are two great browser I would recommend using
2. The browser built into the Second Life Client
I would not recommend using:
1. Chrome - Word wraps
2. IE - Does not recognize the new line character (\n)