Forum und email

פרוטוקול תוכנת ניפוי הבאגים

פרוטוקול תוכנת ניפוי הבאגים של PHP 3 היא מבוססת-שורות. לכל שורה יש סוג משתנה, ומספר שורות מתחברות לתוך הודעה. כל הודעה מתחילה עם סוג שורה start ומסתיימת עם סוג שורה end. PHP 3 יכול לשלוח שורות להודעות שונות בו-זמנית.

לשורה יש את התבנית הבאה:

<div dir="ltr">
date time host(pid) type: message-data
</div>

date
תאריך בתבנית ISO 8601 (yyyy-mm-dd)
time
שעה הכוללת מיקרו-שניות: hh:mm:uuuuuu
host
כתובת DNS או כתובת IP של שרת המארח היכן שגיאת הסקריפט נוצרה.
pid
PID (process id) של ה- host השייך לתהליך סקריפט ה- PHP 3 אשר ייצר את שגיאה זאת.
type

הסוג של השורה. אומרת לתוכנה המקבלת באיזה שיטה המידע הבא צריך לטופל.

סוגי שורות תוכנת ניפוי השגיאות
שם משמעות
start אומרת לתוכנה המקבלת שהודעת ניפוי השגיאות מתחילה כאן. התוכן של ה- data יהיה סוג הודעת השגיאה, הרשום להלן.
message הודעת השגיאה של PHP 3.
location שם הקובת ומספר השורה היכן שהשגיאה התרחשה. שורת ה- location הראשונה תמיד תכיל מיקום מלא של מערכת הקבצים. data יכיל file:line. תמיד תהיה שורת location אחרי message ואחרי כל function.
frames מספר Frames בזיכרון המחסנית. אם ישנם ארבעה Frames, צפה למידע לגבי ארבעת השלבים של הפונקציות ששומשו. אם אף שורת "frames" נתונה, העומק הצפוי אמור להיות 0. (השגיאה התרחשה בשלב העליון).
function השם של הפונקציה היכן שהשגיאה התרחשה. יחזור לכל שלב במחסנית הזיכרון של הפונקציה.
end אומרת לתוכנה המקבלת שהודעה ניפוי השגיאות הסתיימה כאן.

data
שורת מידע.
סוגי שגיאות של תוכנת ניפוי באגים
תוכנת ניפוי השגיאות השגיאות הפנימיות של PHP 3
warning E_WARNING
error E_ERROR
parse E_PARSE
notice E_NOTICE
core-error E_CORE_ERROR
core-warning E_CORE_WARNING
unknown (any other)

Example#1 דוגמא להודעת שגיעה של תוכנת ניפוי הבאגים

<div dir="ltr">
1998-04-05 23:27:400966 lucifer.guardian.no(20481) start: notice
1998-04-05 23:27:400966 lucifer.guardian.no(20481) message: Uninitialized variable
1998-04-05 23:27:400966 lucifer.guardian.no(20481) location: (null):7
1998-04-05 23:27:400966 lucifer.guardian.no(20481) frames: 1
1998-04-05 23:27:400966 lucifer.guardian.no(20481) function: display
1998-04-05 23:27:400966 lucifer.guardian.no(20481) location: /home/ssb/public_html/test.php3:10
1998-04-05 23:27:400966 lucifer.guardian.no(20481) end: notice
</div>