ဆႏၵကို သိကၡာျဖင့္ ထိန္းပါ

ျဖစ္ခ်င္တာက ဆႏၵ၊ ျဖစ္ေနတာက ဘ၀ဟု ထင္ျမင္မိသည္။

ဤေလာကႀကီးသည္ ျဖစ္ခ်င္တုိင္းျဖစ္၍ မရေသာ ေလာကႀကီးျဖစ္သည္။

မျဖစ္ခ်င္၍လည္း ျဖစ္ရသည္။ အနတၱသေဘာ ျဖစ္သည္။ အနတၱဆုိသည္မွာ

အစုိးမရဟု အဓိပၸါယ္ရသည္။ မိမိ၏ ခႏၶာကုိယ္တြင္ ေနမေကာင္း မျဖစ္ခ်င္၊

႐ုပ္မဆုိးခ်င္၊ အနာေရာဂါမျဖစ္ခ်င္ ဟု ေျပာေနေသာ္လည္း ျဖစ္ရသည္။

႐ုပ္ရည္ေခ်ာေမာလွပခ်င္သည္။ အသားအရည္ ျဖဴေဖြးခ်င္ေသာ္လည္း အသားမဲ၊

အသားညိဳ မ်က္လံုးျပဴး စသည္တုိ႔ ျဖစ္ရသည္။ မိမိ၏ ခႏၶာကုိယ္ပင္လွ်င္

ျဖစ္ခ်င္တုိင္း မျဖစ္ရ၊ မျဖစ္ခ်င္တုိင္း ျဖစ္ရ ျဖစ္ေနလွ်င္ က်န္ေသာအရာမ်ားကုိ

ျဖစ္ခ်င္၊ လုိခ်င္စိတ္ျပင္းျပေနလွ်င္ ပုိ၍ ေ၀းမည္ျဖစ္သည္။

လူတုိင္းသည္ လုိခ်င္တပ္မက္မႈမ်ားျဖင့္ ေမြးဖြားလာသည္ဟု ထင္သည္။

ကေလးဘ၀ထဲက မ်က္လံုးႏွစ္လံုး ပြင့္လာသည္ႏွင့္ မိခင္၏ ႏုိ႔ရည္ကုိ

ေတာင့္တသည္။ မရလွ်င္ အေျပာတတ္ဆံုး ဘာသာစကားျဖစ္ေသာ အူ၀ဲဲ အူ၀ဲ

ဟု ငုိျမည္းေတာ့သည္။ သြားမေပါက္ေသးေသာ ကေလးဘ၀ကတည္းက

ေတာင့္တမႈမ်ားျဖင့္ ႀကီးျပင္းလာရာ သြားက်ဳိးၿပီး ခါးကုန္း သက္ႀကီးရြယ္အ
ုိ
ျဖစ္သည့္အထိ ေတာင့္တမႈမ်ားမွာ အဆံုးသတ္မသြားၾကပါ။

လုိခ်င္တပ္မက္မႈသည္ ေၾကာက္စရာေကာင္းလွသည္။ အ၀ိဇၨာေၾကာင့္

လူသားမ်ားအားလံုးသည္ အေမွာင္ေလာကထဲတြင္ ေမွ်ာၿပီး မ်က္ကန္းမ်ားလုိပင္

ေျမာင္းမ်ား၊ ခ်ိဳင့္ခြက္မ်ား၊ ဆူးမ်ားကုိ နင္းျဖတ္ေက်ာ္ကာ ဘ၀ ၀ဂၤဘာထဲတြင္ တ

၀ဲ၀ဲလည္ေနၾကရသည္ဟု ထင္ပါသည္။ သတၱ၀ါအားလံုးသည္ အ၀ိဇၨာဆုိေသာ

မသိျခင္းႏွင့္ တဏွာဆုိေသာ လုိခ်င္တပ္မက္မႈတုိ႔ ပူးေပါင္းမိၿပီး အမွားမ်ားစြာကုိ

က်ဴးလြန္ေနၾကသည္။ ျဖစ္ေပၚလာေသာ မိမိ၏ ဆႏၵကုိ ထိန္းသိမ္းရန္ကာ

ခက္ခဲလွပါသည္။

မေကာင္းမႈတြင္ ေပ်ာ္ေမြ႕စိတ္ကုိ ထိန္းသိမ္းရန္ ခက္ခဲလွသည္။

မေကာင္းမႈ လုပ္ခ်င္ၿပီးဆုိလွ်င္ သိကၡာမဲ့ ျပဳလုပ္တတ္ၾကသည္။

ေစာင့္ထိန္းရမည့္ က်င့္၀တ္၊ သိကၡာမ်ားကုိ ခ်ဳိးေဖာက္ရန္ ၀န္မေလးၾကေတာ့ပါ။

ယဥ္ေက်းမႈ၊ ဘာသာေရး က်င့္၀တ္မ်ားကုိ မသိက်ဳိးကၽြံ႕ျပဳၾကသည္။

သိကၡာမဲ့လုပ္ရပ္မ်ားကုိ လုပ္ပါမ်ားလာေသာအခါ အမွားလုပ္ရပ္သည္

အမွန္ျဖစ္လာေတာ့သည္။ ငါလုပ္ေနက် ဘာမွမျဖစ္ဘူး ဆုိၿပီး

ဆက္လုပ္ၾကသည္။ သူမ်ားကုိလည္း တုိက္တြန္းၾကသည္။

ယခုဆုိလွ်င္ လူတုိင္းသည္ ပုိ၍ပင္ သကၡာကင္းမဲ့ေသာ လုပ္ရပ္မ်ားကုိ

ေပ်ာ္ေပ်ာ္ေမြ႕ေမြ႕ က်ဴးလြန္ေနၾကသည္။ ဘုရားေဟာေသာ

အေျခခံတရားမ်ားကုိ ေမ့ေလ်ာ့ေနၾကသည္။ မသိေသးသည့္ လူမ်ားလည္း

မ်ားစြာရွိသည္။ မိမိ၏ စိတ္ကုိ ထိန္းသိမ္းႏုိင္ပါက ေလာကစည္းစိမ္ကုိ

မဆုိထားႏွင့္ ေလာကုတၱရာ နိဗၺာန္ကုိပင္ ရႏုိင္သည္ဟု

ဘုရားေဟာၾကားခဲ့ပါသည္။ ဒါေၾကာင့္ ကၽြႏု္ပ္တုိ႔သည္ မေကာင္းမႈလုပ္ခ်င္ေသာ

ဆႏၵမ်ားကုိ သကၡာျဖင့္ ထိန္းသိမ္းၾကရန္ လုိအပ္ပါေၾကာင္း...။

ေမာင္ေစတနာ

ငရဲႀကီးတယ္ဆိုတာ... (Third Edition)

ယေန႔ေခတ္ဟာ အိုင္တီေခတ္ ၊ နည္းပညာေခတ္ ဟုေျပာေနႀကသည့္အတိုင္း သိပ ၸံ ပညာ ၊ စက္မႈလက္မႈနညး္ပညာ ထြန္းကားတိုးတက္မႈမွာ အံ့မခန္း ပင္ျဖစ္ ပါတယ္။ ထိုတိုးတက္ေနေသာ ၊ အသစ္အသစ္ေသာ နည္းပညာမ်ားေနာက္သို႔ အမီလိုက္ႏိုင္ႀကသူအမ်ားစုမွာ လူငယ္မ်ားျဖစ္သည့္အေလ်ာက္ ယေန႔ေခတ္လူငယ္မ်ားသည္ လူႀကီးမ်ားထက္ ကြန္ပ်ဳတာ နည္းပညာ ပိုမိုတတ္ေျမာက္ႀကတာ ဘယ္သူမွမျငင္းႏိုင္ပါဘူး။ တက္စရာ သင္တန္းေတြ ၊ ဆည္းပူးစရာ ပညာရပ္ေတြကလည္း မကုန္ႏိုင္ ၊ မခမ္းႏိုင္ေပပဲမို႔ လူငယ္ေတြကိုႀကည့္လိုက္ရင္ အျမဲအလုပ္ရႈပ္ ၊ အနားမေနႀကရပါဘူး။ အထက္တန္းေအာင္ျပီ ဆိုတာ နဲ႔ အဂၤလိပ္စာ သင္တန္းေတြတက္ ၊ ကြန္ပ်ဳတာ ၊ စာရင္းကိုင္သင္တန္းေတြတက္ နဲ႔ ဘ၀တိုးတက္မႈ ကိုရွာေဖြေနႀကပါတယ္။ သင္တန္းဆင္းလက္မွတ္္ရျပီးရင္ အလုပ္ရွာ ၊ တကၠသိုလ္ မတက္ခင္ကတည္းကကိုပဲ အလုပ္အကိုင္နဲ႔ျဖစ္ေနႀကပါျပီ။

အသက္ငယ္ငယ္ေလးေတြနဲ႔ ကိုယ့္၀င္ေငြလစာ ေလးေတြနဲ႔ျဖစ္ေနႀကတာ ခ်ီးက်ဳးစရာပါပဲ။ မိသားစု တာ၀န္ကို ၀င္ထမ္းႀကတာ သိတတ္ႀကတာ အင္မတန္ ကိုေကာင္းပါတယ္။ မိဘ မ်ားအေနနဲ႔ကလည္း ကိုယ့္သားသမီးအတြက္ အင္မတန္ ဂုဏ္ယူႀကတာေလ။ ကြၽန္မသားကေတာ့ျဖင့္ ဘယ္ကုမၼဏီ ႀကီး မွာ ေပ့ါ။ ကြၽန္မ သားက ကြန္ပ်ဳတာပရိုဂရမ္မာေလ။ သမီးက ဘယ္ရံုးမွာ စာရင္းကိုင္ေလ နဲ႔ ေျပာရတာ အင္မတန္ကိုဂုဏ္ရွိပါေပတယ္။ အလုပ္က အိုဗာတိုင္ ဆိုလည္း အိမ္ျပန္ေနာက္က်တဲ့ သမီးကို လမ္းထိပ္ထြက ္ေမွ်ာ္ ေစာင့္ တဲ့ မိဘ ၊ သမီးထမင္းခ်ိဳင့္အတြက္ နံနက္အေစာႀကီး ထ ခ်က္ျပဳတ္တဲ့ အေမ ကိုေမာသလားလို႔ေမးရင္ မေမာဘူးပဲေျဖႀကမွာပါ။ သား ပညာတတ္ႀကီး ၊ သမီးပညာတတ္ႀကီးေတြအတြက္ဂဳဏ္ယူေနႀကတဲ့ မိဘေတြ ပီတိေတြနဲ႔ေပ့ါ။ လူငယ္ေတြဘက္ကက်ေတာ့လည္း အသက္ငယ္ငယ္ေလးနဲ႔ လုပ္ငန္းတာ၀န္ ေတြထမ္းေဆာင္ ၊ ပညာအႀကီးႀကီးေတြတတ္ေနေလေတာ့ မာန္ေလး နည္းနည္း ရွိလာျပီေလ။ လူငယ္မာန နဲ႔ ငါ ဆိုတာေလးေတြျဖစ္လာႀကျပီ။ မိဘ က ငယ္စဥ္ ကတည္းကေကြၽးေမြးျပဳစု ပညာသင္ေပးလို႔ ဒီေန႔ ဒီီအခ်ိန္မွာ ဒီလိုျဖစ္ေနတာကို ေမ့ေတ့ေတ့ျဖစ္ေနႀကျပီ။ ငါ ေတာ္လို႔ ၊ ငါတတ္လို႔ ဆိုျပီး လက္မေလး ေတြ ေထာင္ခ်င္ေနႀကျပီေလ။ အလုပ္ကပင္ပန္း၊ စိတ္ကရႈပ္နဲ႔ အိမ္မွာဆို မိဘ ကိုစကားေကာင္းေကာင္းမေျပာခ်င္ေတာ့ဘူး။ အေမ ၊ အေဖက ေမးတာကိုပဲ စိတ္တိုေနျပီ။ မိဘ ဆိုေတာ့လည္း ကိုယ့္သားသမီး ဘယ္သြားမယ္ ၊ ဘယ္လာမယ္ သိခ်င္ ၊ စိတ္ပူတာေပ့ါ။ ရံုးပိတ္ရက္ေလးမွာ အျပင္ထြက္ဖို႔
ျပင္ဆင္ေနတဲ့ သမီး ၊ သားကို ဘယ္သြားမလို႔လဲ ေမးမိရင္ ကေလးေတြက မႀကိဳက္ခ်င္ေတာ့ဘူး။ မ်ားေသာအားျဖင့္ အသက္၂၀ေက်ာ္လူငယ္ေလးေတြဟာ အေဖ နဲ႔ အဆင္မေျပျဖစ္ႀကတာမ်ားတယ္။ ဖခင္ ဆိုတာ အိမ္ေထာင္ဦးစီး မို႔ အားလံုးကရိုေသ ျပီးေနႀကတာမွာ အေဖ က ပင္စင္ စားျဖစ္တဲ့အခ်ိန္ ၊ သား သမီးက အလုပ္အကိုင္ရွိတဲ့အခ်ိန္မွာ ဖခင္နဲ႔ သားသမီး သေဘာကြဲမႈေလး ေတြ ျဖစ္လာတယ္။ ဖခင္ဘက္ကလည္း သူရွာေဖြေကြၽးေမြးျပဳစုလာတဲ့ သားသမီးက ခုလို သူ ေငြမရွာႏိုင္ေတာ့တဲ့အခ်ိန္မွာ မေလးစားေတာ့တာလို႔ အျမင္ျဖစ္ျပီး သားသမီးဘက္ကက်ေတာ့လည္း အေဖက ေနရာတကာ ၀င္ပါေနတယ္ လို႔ ထင္ႀကျပန္ေရာ။

အလုပ္ထဲမွာလည္း အနည္းနဲ႔ အမ်ားဆိုသလို စိတ္တင္းႀကပ္မႈေလးေတြ ၊ စိတ္ဖိစီးမႈေလးေတြ ရွိေနေလေတာ့ အိမ္ျပန္ေရာက္ရင္ မိဘ နဲ႔စကားေျပာရာမွာ ေဘာက္ဆတ္ဆတ္ ျဖစ္ကုန္ႀကျပီ။ အလုပ္မွာကေႀကာက္ရမယ့္သူေတြ ၊ အထက္လူႀကီးေတြ ၊ စီနီယာေတြ နဲ႔မို႔ ေဒါသ ကိုထိန္းခ်ဳပ္ထားရတာေတြ အိမ္ျပန္ ေရာက္ရင္ ေပါက္ကြဲျပီေလ။ အဲသည္ေတာ့ မိဘ နဲ႔ သားသမီး ႀကား နားလည္မႈေလးေတြက လြဲျပီေပ့ါ။ လူငယ္ေတြကလည္း မိဘေတြက သူတို႔ကို နားလည္မေပးဘူး လို႔ ျမင္ႀကျပီး မိဘေတြဘက္ကက်ေတာ့လည္း ကေလးေတြ႔က ရွာႏိုင္ေဖြႏိုင္တဲ့အခါမို႔ ေမာက္မာေနႀကျပီ လို႔ ထင္ႀကတယ္။ ေနာက္တစ္ခု က လုပ္တိုင္းမျဖစ္တဲ့ အေနအထားေတြ အလုပ္ထဲမွာရွိတယ္ေလ။ လူငယ္ေတြက တိုးတက္ခ်င္တယ္။ ႀကိဳးစားတယ္ ။ ဒါေပမယ့္ ႀကိဳးစား သ ေလာက္အရာမေရာက္ဘူး။ အခ်ိန္မတိုင္ေသးလို႔ မျဖစ္ေသးတာလည္း ျဖစ္မွာပဲ။ လူငယ္ဆိုတာက အျမဲ ဘ၀ တိုးတက္ေရးလမ္းရွာေဖြေနတဲ့သူေတြ။ ရည္မွန္းခ်က္ႀကီး ၊ ေမွ်ာ္လင့္ခ်က္ႀကီးႀကီး နဲ႔ ႀကိဳးစားေပမယ့္ ထင္သေလာက္ျဖစ္မလာတဲ့အခါ စိတ္ဓါတ္က် သြားတာလည္းရွိတယ္။ အဲသည္လို အခိ်န္ေတြမွာ အိမ္မွာ မိဘ နဲ႔ ပိုလို႔ အဆင္မေျပေတာ့ဘူး။ ဘယ္သူက ဘာပဲေျပာလိုက္ ေျပာလိုက္အေကာင္းကိုမျမင္ေတာ့ဘူးေလ။ အလိုလို စိတ္တိုေနတတ္ေရာ။ တကယ္တန္းက်ေတာ့ အဲသည္လို လုပ္တိုင္းမျဖစ္၊ မွန္းထားတိုင္း မျဖစ္တာေတြဟာ ငရဲႀကီးတာပါ။

လူေတြထင္ႀကတာက ငရဲႀကီးတယ္ဆိုတာ ခုဘ၀က ေသလြန္တဲ့အခါမွာ အ၀ီစိ ငရဲကိုက်ျပီး ငရဲသားေတြ ဆီပူအိုးႀကီးထဲမွာ ထည့္ေႀကာ္တာကို ခံရတာလို႔။ ျပန္စဥ္းစားႀကည့္ရင္ မိဘ ကို မေခ်မငံျပန္ေျပာမိတာေလးေတြ ၊ အေမ ကလည္းဗ်ာ ရႈပ္လိုက္တာ ။ အေဖကလည္း ဒါေလးေတာင္ မသိဘူးလားလို႔ ေမာက္ေမာက္မာမာ ေျပာမိတာေလးေတြက ကံႀကီးထိုက္ျပီး ကိုယ္ျဖစ္လိုရာ ဆႏၵၵေတြက မျပည့္ေတာ့တာေလ။ မိဘ စိတ္ဆင္းရဲ သြားတာမ်ိဳး၊ စိတ္ခု သြားတာမ်ိဳး ျဖစ္ေစတဲ့ သားသမီးဟာ ဘ၀မွာ ဘာေတြပဲ လုပ္လုပ္ ကိုယ္မွန္းသေလာက္အဆင္မေျပပါဘူး။ မယံုဘူး ဆိုရင္ ေအာင္ျမင္ေနတဲ့ လူငယ္ေလးေတြ ကိုလွမ္းႀကည့္လိုက္ပါ။ မိဘ နဲ႔ေျပာဆိုဆက္ဆံရာမွာ သိမ္ေမြ႔ ျပီး မိဘ စကားနားေထာင္တဲ့ လူငယ္ေလးေတြသာပဲ ေအာင္ျမင္မႈ ကိုႀကာ ရွည္ ထိန္းထားႏိုင္ျပီး ဘယ္ေတာ့မွ အမွားမေတြ႔ ၊ အခက္အခဲႀကံဳလာရင္လည္း ကူညီမယ့္သူ အဆင္သင့္ ျဖစ္ပါတယ္။ အေသးအဖြဲေလးေတြက အစ မိဘ နဲ႔ေျပာဆိုဆက္ဆံရာမွာ သတိျပဳရပါမယ္။ ကြၽန္မ ကိုယ္တိုင္လည္း အသက္
၂၃ ႏွစ္ အရြယ္တုန္းက မိဘ ကိုေမာက္မာခဲ့မိတာ ။ ေနာက္ဘာမွအဆင္မေျပျဖစ္ေတာ့ မွ ဆရာေတာ္ ဘုရားေတြရဲ႔ ဆံုးမစကားေတြ ၊ တရားေတြ နားေထာင္ျပီး မိဘ ကို ျပန္လည္ေတာင္းပန္ ရွိခိုး ျပီး ခြင့္လႊတ္ပါတယ္ ဆိုတဲ့ အေမ့ရဲ႔ စကားႀကားရအျပီးမွာမွ ဘ၀ မွာ ျပန္လည္အဆင္ေျပလာတဲ့သူေလ။ အဲသည္ေနာက္ ဘ၀ တစ္ေလွ်ာက္လံုးဘယ္ေတာ့မွ မိဘ ကို မလြန္ဆန္ေတာ့ဘူးေလ။ ေကာင္းေကာင္းႀကီးကိုေနာင္တရျပီး မိဘ ေက်းဇူး မိဘ တန္ဖိုးကို သိျမင္လာျပီေလ။ ကိုယ္က ပညာတတ္ေနတာ က မိဘ က ငယ္စဥ္က ေက်ာင္း ထားေပးခဲ့လို႔ေပ့ါ။ မိဘ ကသာ ေက်ာင္းမထားေပးခဲ့ရင္ ဘယ္လို မူလတန္း၊ အလယ္တန္း၊အထက္တန္းေအာင္ ျပီး ဘြဲ႔ရ ပညာတတ္ျဖစ္ႏိုင္မွာလဲ။ ပညာေရးအတြက္ အသံုးစရိတ္ကေရာ မိဘ ပိုက္ဆံပဲ မဟုတ္လား ။ ခုမွ အလုပ္အကိုင္ေလးရွိမွ မိဘ ေက်းဇူးေႀကာင့္ ပညာတတ္ျဖစ္လာတာကိုေမ့ျပီး ငါေတာ္ လို႔ ၊ ငါတတ္လို႔ သည္လို ရံုးႀကီးမွာ သည္လို မ်ိဳးရာထူး အလုပ္မ်ိဳးရတာ ဆိုျပီး လက္မေထာင္ခ်င္တဲ့လူငယ္ေလးေတြ စဥ္းစားေစခ်င္ပါတယ္။

မိဘကိိုုစိတ္ခ်မ္းသာေစတဲ့ သားသမီး မ်ိးဟာ ဘယ္ေတာ့မွ မဆင္းရဲဘူး ဆိုတဲ့စကားဟာ အင္မတန္ကို မွန္ကန္လို႔ ေျပာေနႀကတဲ့စကားပါ။ မဆင္းရဲဘူး ဆိုတဲ့ေနရာမွာ ကိုယ္ေရာ ၊ စိတ္ေရာပါ။ မယံုဘူး ဆိုရင္ လက္ေတြ႔လည္း လုပ္ႀကည့္လိုက္ပါ။ အရင္က အဆင္မေျပျဖစ္ေနတာေလးေတြ ျပန္လည္ အဆင္ေျပ တိုးတက္လာပါလိမ့္မယ္။ လူငယ္ေတြ အသက္ရွင္လ်က္ ငရဲက် မခံခ်င္ႀကပါနဲ႔ ။ ဟနစံ

UMDH ျဖင့္ မွတ္ဥာဏ္ ယိုေပါက္မ်ားကို ရွာေဖြျခင္း

Pointer Arithmetic အသံုးျပဳေသာ အစီအစဥ္ (Program) မ်ားကုိ ေရးသားရာတြင္ ျဖစ္တတ္ေသာ ျပႆနာတစ္ရပ္မွာ ရယူထားေသာ မွတ္ဥာဏ္ (memory) ေနရာ (space) မ်ားကုိ ျပန္လည္စြန္႕လႊတ္ျခင္း (deallocation) မျပဳမိသည့္အခါ အပံု (heap) ထဲတြင္ မွတ္ဥာဏ္ေနရာလြတ္ ကုန္ခမ္း သြားတတ္ျခင္းပင္ ျဖစ္သည္။

အထူးသျဖင့္ အမႈိက္သိမ္းစနစ္ (Garbage Collection System) မပါရွိသည့္ C/C++ ကဲ့သုိ႕ေသာ ဘာသာစကားမ်ားတြင္ အဆုိပါ ျပႆနာသည္ ေကာက္ရုိးပံု အပ္ေပ်ာက္သလုိ ရွာရခက္ေသာ ျပႆနာ တစ္ရပ္ျဖစ္ပါသည္။ Windows NT Platform (Windows NT, Windows 2000, Windows XP and Windows Vista) တြင္ အဆုိပါ ျပႆနာကုိ အေျဖရွာႏုိင္ရန္အတြက္ UMDH ဟုေခၚေသာ အစီအစဥ္တစ္ခုကို Microsoft မွ အခမဲ့ ျဖန္႕ျဖဴးေပးထားရာ ယခုေဆာင္းပါးငယ္တြင္ အဆုိပါ အစီအစဥ္ကုိ အသံုးျပဳပံု အဆင့္ဆင့္ကုိ ေရးသားရွင္းလင္းမည္ ျဖစ္ပါသည္။

UMDH သည္ Debugging Tools for Windows package တြင္ပါ၀င္ေသာ အစီအစဥ္တစ္ခု ျဖစ္သည္။ ၄င္းကုိ အသံုးျပဳရန္အတြက္ အဆုိပါ package ကုိ အရင္ဆံုး download လုပ္ရမည္ျဖစ္သည္။ မိမိ အသံုးျပဳမည့္ စနစ္ႏွင့္ ကိုက္ညီရာကုိ ေရြးခ်ယ္ရန္ သတိျပဳပါ။

ထုိ႕ေနာက္တြင္ Windows Symbol Package ကုိ download လုပ္ရယူရမည္ျဖစ္သည္။ Symbol Package ကုိ ေရြးခ်ယ္ရာတြင္ မိမိ debug လုပ္မည့္ အစီအစဥ္ကုိ အသံုးျပဳမည့္ စက္ေမာင္းႏွင္စနစ္ (Operating Systems) ႏွင့္ကုိက္ညီရာကုိ ေရြးခ်ယ္ရမည္ျဖစ္သည္။ (စက္တလံုးတည္းတြင္ debug လုပ္မည္ဆုိပါက အဆိုပါစက္၏ ေမာင္းႏွင္စနစ္ကုိသာ ေရြးပါ။)

အထက္ပါ အေပ်ာ့ထည္မ်ားကုိ ထည့္သြင္းၿပီးပါက သင္၏ စက္ေမာင္းႏွင္စနစ္ကုိ debug mode ျဖင့္ စႏႈိး (boot) ပါ။ Windows XP Professional တြင္ My Computer ကုိ ညာကလစ္ျဖင့္ ႏွိပ္ပါ။ Properties ကုိေရြးပါ။ Advanced tab ကုိ သြားပါ။ Startup and Recovery Setting ကုိ ႏွိပ္ပါ။ Edit ကုိ ႏွိပ္ပါ။ သင္၏ စက္ေမာင္းႏွင္စနစ္ စာေၾကာင္း ေဘးတြင္ "/debug" ဟုျဖည့္သြင္းပါ။ (ဥပမာ …\WINDOWS="Microsoft Windows XP Professional" /fastdetect /debug အခ်ိဳ႕ကမူ ထုိစာေၾကာင္းကို ၂ ေၾကာင္းကူးၿပီး တစ္ခုတြင္ "/debug" ဟု ထည့္သြင္းတတ္သည္။)

ထုိ႕ေနာက္ System Path Variable ကုိ UMDH (ႏွင့္ Debugging Tools for Windows) ထည့္သြင္းထားေသာ လမ္းညႊန္ (Directory) သုိ႕ ေျပာင္းေပးပါ။ My Computer ကုိ ညာကလစ္ႏွိပ္ၿပီး Properties ကုိေရြးပါ။ Advanced tab ကုိသြားပါ (အထက္ပါအတုိင္းတူတူပင္ျဖစ္သည္။) Environment Variables ကုိ ႏွိပ္ပါ။ System variables မွ path ကုိရွာၿပီး UMDH ရွိရာ လမ္းညႊန္ကုိ ဆီမီး ၉ လံုး (semi-colon) ခံၿပီး ေနာက္ဆံုးတြင္ ထည့္သြင္းပါ။ အားလံုးကုိ အုိေကႏွိပ္ပါ။ စက္ကုိ restart လုပ္ပါ။


စက္ျပန္တက္လာလွ်င္ _NT_SYMBOL_PATH ဟုေခၚေသာ Environment Variable ကုိ သင္ Symbol ထည့္သြင္းထားခဲ့ေသာ လမ္းညႊန္သုိ႕ ေျပာင္းေပးရမည္ျဖစ္သည္။ set_NT_SYMBOL_PATH=SRV*c:\Windows\Symbols ဟု အမိန္႕ေပးပါ။
(Symbol မ်ားကုိ အျခား လမ္းညႊန္သို႕ ထည့္သြင္းမိလွ်င္ c:\Windows\Symbols အစား အဆုိပါလမ္းညႊန္၏ လမ္းေၾကာင္းကုိ ျဖည့္သြင္းပါ။)

သင့္ အစီအစဥ္အတြက္ gflags ကုိ ခ်ိန္ေပးရန္အတြက္ "gflags /i yourprogram.exe +ust" ဟု အမိန္႕ေပးပါ။ UMDH သံုးစြဲရန္ အသင့္ျဖစ္ပါၿပီ။

သင္၏ အစီအစဥ္ကုိ မွတ္ဥာဏ္ယိုေပါက္ (memory leakage) မျဖစ္ခင္ အေနအထားတြင္ ရပ္တန္႕ေစ၍ (breakpoint ေပးလုိက္လွ်င္ အလြယ္ဆံုးျဖစ္သည္) umdh –p: -f: -g ဟု အမိန္႕ေပးပါ။ (Process Id ကုိ သိရန္အတြက္ tlist ဟု အမိန္႕ေပး၍ ၾကည့္ရႈႏုိင္ပါသည္။)

ထုိ႕ေနာက္တြင္ မွတ္ဥာဏ္ယုိေပါက္ အၿပီးေလာက္ဟု ထင္ေသာ ေနရာသုိ႕ ေရာက္သည္အထိ ဆက္လက္လုပ္ေဆာင္ေစပါ။ umdh –p: -f: -g ဟု ထပ္မံအမိန္႕ေပးပါ။

ယခု သင္၏ အစီအစဥ္ရွိ မွတ္ဥာဏ္ယုိေပါက္မတုိင္မီႏွင့္ မွတ္ဥာဏ္ယိုေပါက္အၿပီး မွတ္ဥာဏ္အသံုးခ်မႈဆုိင္ရာ အခ်က္အလက္မ်ား logfile1 ႏွင့္ logfile2 တုိ႕တြင္ သိမ္းဆည္းၿပီး တည္ရွိေနပါၿပီ။ အဆုိပါ file မ်ားကုိ ႏႈိင္းယွဥ္ၾကည့္ရႈရန္အတြက္ umdh –d –v –l ဟု ႏွိပ္ပါက အဆုိပါ အစီအစဥ္ ေနရာ ၂ ခုၾကား ရယူထားၿပီး ျပန္မစြန္႕လႊတ္ရေသးသည့္ မွတ္ဥာဏ္ေနရာမ်ားကုိ ေတြ႕ရွိရပါလိမ့္မည္။

("> " ဟု အမိန္႕ေနာက္တြင္ ျဖည့္သြင္းၿပီးမွ အမိန္႕ေပးလွ်င္ ဖန္သားျပင္ေပၚတြင္ ေပၚလာမည့္ အေျဖမ်ားကုိ အဆုိပါ text_file_path တြင္ ေရးသားေပးပါသည္။)
ဥပမာ
+ 4132 ( 4132 - 0) 1 allocs BackTraceD3
+ 1 ( 1 - 0) BackTraceD3 allocations
(blar blar blar)
MSVCR80D!fprintf+0000029C (f:\rtm\vctools\crt_bld\self_x86\crt\src\fprintf.c, 70)
YourProject!leakyFunction+000005EB (d:\leaky.cpp, 325)
(blar blar blar)
kernel32!RegisterWaitForInputIdle+00000049ဟုေတြ႕ရွိရပါက မွတ္ဥာဏ္ မွတ္တမ္း ၂ ခုအၾကားတြင္ leakyFunction (leaky.cpp မွ လိုင္းအမွတ္ ၃၂၅) မွ မွတ္ဥာဏ္ ၄၁၃၂ ဘုိက္ရယူထားၿပီး ျပန္မစြန္႕လႊတ္ရေသးသည္ကုိ ေတြ႕ရွိရပါလိမ့္မည္။


အထက္ပါ အေၾကာင္းအရာမ်ားကုိ Intel® Core™2 Duo E6550 @2.33 GHz, DDR 2 1GB x 4, Microsoft Windows XP Professional Service Pack 2 တပ္ဆင္ထားေသာ ၃၂ ဘစ္ စက္တြင္သာ စမ္းသပ္ထားၿပီး ျဖစ္ၿပီး ေရးသားခ်ိန္တြင္ တတ္ႏုိင္သေလာက္ တိက် မွန္ကန္ေစရန္ ႀကိဳးစားထားေသာ္လည္း post ပါ အေၾကာင္းအရာမ်ား၏ မွန္ကန္တိက် မွီခုိႏုိင္စြမ္းကုိ အာမမခံပါ။ သံုးစြဲျခင္းေၾကာင့္ တစံုတရာ နစ္နာဆံုးရႈံးမႈ ျဖစ္ပြားလာပါက သံုးစြဲသူ၏ တာ၀န္သာ ျဖစ္ေၾကာင္း ႀကိဳတင္ အသိေပးအပ္ပါသည္။


ေလာရွည္

About this blog

Blog Archive