လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> PHP ၏ GetRaceAsString function ကို အသုံးပြု. ခြွင်းချက်များကိုမည်သို့ဖမ်းယူနိုင်ပြီးကြည့်ရှုနိုင်မည်နည်း။

PHP ၏ GetRaceAsString function ကို အသုံးပြု. ခြွင်းချက်များကိုမည်သို့ဖမ်းယူနိုင်ပြီးကြည့်ရှုနိုင်မည်နည်း။

M66 2025-08-06

1 ။ GetTraceasString function ကဘာလဲ။

GetTraceasString သည် PHP ချွင်းချက် အတန်းအစားတစ်ခုဖြစ်သည်။ ခြွင်းချက်တစ်ခုပစ်ချသောအခါ GetRaceAssString က ခြွင်းချက်သတင်းအချက်အလက်များ၏ string ကိုပုံစံကိုပြန်ပို့နိုင်သည်။ Stack Information သည် developer များတိကျသောတည်နေရာကိုခြေရာခံ။ အမှားအယွင်းများကိုခေါ်ဆိုရန်ကူညီနိုင်ပြီးပြ problems နာများကိုထပ်မံရှာဖွေတွေ့ရှိရန်ကူညီနိုင်သည်။

2 ။ ခြွင်းချက်များ၏အခြေခံဖြစ်စဉ်ကို

PHP တွင်ခြွင်းချက်ဖမ်းယူခြင်းသည်များသောအားဖြင့် စမ်းကြည့်ခြင်း အားဖြင့်အောင်မြင်သည်။ ခြွင်းချက်တစ်ခုကုဒ်ကိုပိတ်ပင်တားဆီးမှုဖြင့်ပစ်ချသောအခါ ဖမ်း ကြေညာချက်သည်ခြွင်းချက်အရာဝတ်ထုကိုဖမ်းလိမ့်မည်။ ထို့နောက်သင်သည်ခြွင်းချက်၏ stack သတင်းအချက်အလက် output ကို output လုပ်ဖို့ gettraceasstring function ကိုသုံးနိုင်သည်။

နမူနာကုဒ်:

 <?php
try {
    // ခြွင်းချက်တစ်ခု Simulate
    throw new Exception("Something went wrong!");
} catch (Exception $e) {
    // Get နှင့် output ကို stack သတင်းအချက်အလက်
    echo "Exception Trace: " . $e->getTraceAsString();
}
?>

အထက်ပါကုဒ်များတွင်ကျွန်ုပ်တို့သည် ပစ်ချ ချက်ကိုမှတစ်ဆင့်ခြွင်းချက်တစ်ခုကိုကိုယ်တိုင်ချမှတ်ပြီးချွင်းချက်အရာဝတ်ထု $ e ကိုဖမ်းရန် ဖမ်းမိသည့် ကြေညာချက်ကိုသုံးပါ။ ထို့နောက်ချွင်းချက်၏ stack ၏ stack သတင်းအချက်အလက်ကို $ e-> gettraceasString မှတဆင့် ()

3 ။ GetTraceasString output ကိုအကြောင်းအရာ

GetTraceasString သည် stack အချက်အလက်များကိုဖော်ပြသည့် string ကိုပြန်ပို့လိမ့်မည်။

 #0 /path/to/script.php(10): someFunction()
#1 /path/to/another/script.php(15): anotherFunction()
#2 {main}

အကြောင်းအရာတစ်ခုစီသည် function path, line နံပါတ်နှင့် function call ၏ဆက်စပ်သတင်းအချက်အလက်များအပါအဝင် stack frame ကိုကိုယ်စားပြုသည်။ GetTraceasString သည် အောက်ခြေမှထိပ်မှထိပ်သို့အမိန့်အတွက်သက်ဆိုင်ရာ function ကိုခေါ်ဆိုမှုအားလုံးကိုစာရင်းပြုစုထားသည်။

  • # 0 သည် ခြွင်းချက်များဖြစ်ပေါ်သည့်နေရာအနှံ့တွင်အနက်ရှိုင်းဆုံးလုပ်ဆောင်ချက်ခေါ်ဆိုမှုကိုကိုယ်စားပြုသည်။

  • # 1 , # 2 စသည်ဖြင့်ဤခြွင်းချက်များကိုဖြတ်သန်းသွားသောကာလအတွင်းဖြတ်သန်းသွားသောခေါ်ဆိုမှုများဖြစ်သည်။

  • {Main} သည် အဓိကပရိုဂရမ်စီးဆင်းမှုကိုကိုယ်စားပြုသည်။

4 ။ တကယ့်ဥပမာအပေါ်အခြေခံပြီးခွဲခြမ်းစိတ်ဖြာ

GetTraceasString ကို ပိုမိုနားလည်ရန်အတွက်အနည်းငယ်ရှုပ်ထွေးသောဥပမာတစ်ခုဖြင့်၎င်းကိုသရုပ်ပြကြပါစို့။

 <?php
function thirdFunction() {
    throw new Exception("An error occurred in thirdFunction.");
}

function secondFunction() {
    thirdFunction();
}

function firstFunction() {
    secondFunction();
}

try {
    firstFunction();
} catch (Exception $e) {
    echo "Caught exception: " . $e->getMessage() . "\n";
    echo "Stack trace:\n" . $e->getTraceAsString();
}
?>

ဤဥပမာတွင်ကျွန်ုပ်တို့သည် function သုံးခုကိုသတ်မှတ်သည် - 4 င်းတို့၏ပထမ ဦး ဆုံးနေအိမ် , ဒုတိယဘာသာ နှင့် တတိယ အနေဖြင့် function တစ်ခုစီသည်နောက် function ကိုအလှည့်အပြောင်းတစ်ခုဟုခေါ်သည်။ နောက်ဆုံးအနေနဲ့ခြွင်းချက် တတိယသုံးလပတ် တွင်ပစ်ချသည်။ Catch မှတစ်ဆင့်အချည်းနှီးသောအနေဖြင့် ဒေါ်လာ e-gettraceasString () ကို ခေါ်ခြင်း () ကိုခေါ်ယူခြင်းသည်အောက်ပါနှင့်ဆင်တူသောအချက်အလက်များကိုထုတ်ဖော်ပြောဆိုခြင်းအားဖြင့်ထုတ်ပြန်ရန်

 Caught exception: An error occurred in thirdFunction.
Stack trace:
#0 /path/to/script.php(7): thirdFunction()
#1 /path/to/script.php(11): secondFunction()
#2 /path/to/script.php(15): firstFunction()
#3 {main}

ဤအချက်အလက်မှတစ်ဆင့် developer များကပထမအမြင်ကဖော်ပြရန် ပထမအကြိမ် ခွဲခြားသတ်မှတ်ခြင်းမှတတိယအနေဖြင့် တတိယအနေဖြင့် တတိယအနေ ဖြင့် တတိယ အနေဖြင့်သုံးခုအရေးပေါ်အခြေအနေကိုရှင်းလင်းစွာတွေ့မြင်နိုင်သည်။

5 ။ နောက်ထပ် process ကိုခြွင်းချက်သတင်းအချက်အလက်

အမှန်တကယ်ဖွံ့ဖြိုးတိုးတက်မှုတွင်ကျွန်ုပ်တို့သည်အပြင်းအထန်ထုတ်ပြန်သောသတင်းအချက်အလက်များကိုသာထုတ်လုပ်ရုံသာမကနောက်ပိုင်းခွဲခြမ်းစိတ်ဖြာခြင်းအတွက်မှတ်တမ်းတင်ရန်လည်းလိုအပ်သည်။ PHP ၏သစ်ထုတ်လုပ်ရေးစွမ်းရည်များကိုပေါင်းစပ်ခြင်းဖြင့်ခြွင်းချက်များကို log files များသို့ log in ပြောင်းရွှေ့နိုင်သည်။

ဥပမာအားဖြင့်, ကျွန်ုပ်တို့သည်ခြွင်းချက်အချက်အလက်များကို log file သို့ရေးနိုင်သည်။

 <?php
try {
    firstFunction();
} catch (Exception $e) {
    $logMessage = "Exception: " . $e->getMessage() . "\n" . "Stack trace: " . $e->getTraceAsString();
    file_put_contents('error_log.txt', $logMessage, FILE_APPEND);
}
?>

6 ။ အကျဉ်းချုပ်

GetTraceasString သည် PHP တွင်အလွန်လက်တွေ့ကျသောခြွင်းချက်ကိရိယာတစ်ခုဖြစ်သည်။ ခြွင်းချက်သည်လွယ်ကူစွာဖတ်ရှုနိုင်သောပုံစံဖြင့်ခြွင်းချက်တစ်ခုတွင်ဖြစ်ပေါ်သောအခါ၎င်းသည်အချက်အလက်များကိုသိုလှောင်နိုင်သည်။ ၎င်းသည်သင်၏ပရိုဂရမ်ရှိအမှားများကိုရှာဖွေခြင်းနှင့်ဖြေရှင်းခြင်းအတွက်အလွန်အထောက်အကူပြုသည်။ Try-catch ထုတ်ပြန်ချက်များနှင့် gettraceasString ကို ပေါင်းစပ်ခြင်းအားဖြင့် developer များသည်ပြ the နာကိုလျင်မြန်စွာရှာဖွေပြီးထိရောက်သော debugging နှင့်ပြုပြင်ခြင်းများကိုပြုလုပ်နိုင်သည်။