Silly Computer Engineer.
Lin~Jing~Sen
Something as small as the flutter of the butterfly's wing
can ultimately cause a typoon half way around the world

Group Blog
 
All Blogs
 

Memory Leak (2) : DMALLOC ตอนที่ 1

เป็น debugger ตรวจสอบโปรแกรมของเราว่ามี memory leak ที่ไหนบ้าง

http://dmalloc.com/

วิธีใช้คร่าวๆเท่าที่อ่าน manual
1. complie แล้วก็เพิ่ม #include ใน source code ของเราเพื่อให้สามารถเขียน dmalloc log file ได้
2. รัน dmalloc ไว้
3. รันโปรแกรมของเรา

เดี๋ยวใช้สำเร็จจะมา update ใหม่ เพราะตอนนี้รันบน labtop แล้วมันอืดๆแปลกๆยังไงชอบกล




 

Create Date : 08 เมษายน 2549    
Last Update : 8 เมษายน 2549 0:18:01 น.
Counter : 213 Pageviews.  

*** glibc detected *** free(): invalid next size (fast): 0x092d77f8 ***

t 51.905707418 Node 2 recv SWD ASK msg
t 51.905707802 Node 4 recv SWD ASK msg
Node 4 send ANSWER MSG
t 51.905707883 Node 5 recv SWD ASK msg
Node 5 send ANSWER MSG
t 51.905707935 Node 6 recv SWD ASK msg
Node 6 send ANSWER MSG
*** glibc detected *** free(): invalid next size (fast): 0x092d77f8 ***
Aborted

ความผิดพลาดนี้เกิดจากการกำหนดขนาดผิดพลาด
ผมมีการสร้างแพ็คเก็ตใหม่ 2 ชนิด คือ ASK และ ANSWER ซึ่งแต่ละแบบมีจำนวน field ไม่เท่ากัน

การใส่ข้อมูลทำได้โดย
p->allocdata(sizeof(AskMsg));
walk = p->accessdata ();
hdrc->size_ = sizeof(AskMsg) + IP_HDR_LEN;


แต่ใน ANSWE Msg ผมลืมเปลี่ยนการจองขนาดเป็นเหมือน ASK Msg ทำให้เกิดความผิดพลาดนี้ขึ้น




 

Create Date : 26 มีนาคม 2549    
Last Update : 26 มีนาคม 2549 21:19:42 น.
Counter : 194 Pageviews.  

ns: scheduler going backwards in time from

วันนี้เจอ error ใหม่ล่าสุดที่ไม่เคยเจอมาก่อน

INITIALIZE THE LIST xListHead
SORTING LISTS ...DONE!
ns: scheduler going backwards in time from 109.349312 to 0.000000.

มันเกิดจากฟังก์ชั่น dispatch ของ scheduler.cc พบว่า virtual clock มากกว่าเวลาของ event เจ้า scheduler ก็เลยกำหนดเวลาของ virtual clock ให้เท่ากับเวลาของ event

ลองหาๆวิธีแก้จากในเน็ตได้ความว่า ให้ลองเปลี่ยนชนิดของ scheduler ซึ่งมี default เป็น calendar ลองเปลี่ยนเป็น Heap,RealTime,List

ลองแล้ว ไม่work ซะงั้น
ก็เลยลองลดขนาดการ simulate ปรากฏว่า หายเฉยเลย 5555+




 

Create Date : 21 มีนาคม 2549    
Last Update : 21 มีนาคม 2549 0:40:10 น.
Counter : 250 Pageviews.  

Memory Leak (0) : How can I make my Perl program take less memory?

http://perldoc.perl.org/perlfaq3.html#How-can-I-make-my-Perl-program-take-less-memory

แบบว่า trace file การ simulate มันก็ใหญ่อะนะ เลยหาวิธีทำยังไงให้ใช้ memory น้อยลง

วิธีการหนึ่งที่ดีมากๆคือ การอ่านไฟล์ทีละบรรทัด แทนที่จะโหลดทั้งไฟล์ขึ้น memory ที่หนังสือส่วนใหญ่มันสอน

ของเก่า แบบโหลดทั้งไฟล์

open(FILE,"file.txt");
@data = ;
foreach (@data) {
# ...
}

ของใหม่ที่ดีกว่า
open(FILE,"file.txt");
while () {
print "$_\n"; #แต่ละบรรทัดเก็บในตัวแปรระบบชื่อ $_
}

โอ้ว การมช้แรม ลดฮวบๆ สุดยอด ไม่น่าโง่มานาน อายจัง... =.="




 

Create Date : 20 มีนาคม 2549    
Last Update : 8 เมษายน 2549 0:13:11 น.
Counter : 155 Pageviews.  

stimulate = กระตุ้น

วันนี้มีประชุมกลุ่ม ก็โดนเตือนๆว่าให้เริ่มทำงานได้แล้ว ก็ทราบครับ คือไม่อยากแก้ตัวอะครับว่าไปทำงานคนอื่นอยู่ก็เลยขี้เกียจๆ แหะๆ

เล็งว่าจะส่ง paper ที่สิงคโปร์ราวๆพฤษภาคม ต้องเขียนให้ทัน ต้อง implement ให้ทัน

สู้ๆๆๆๆๆๆ




 

Create Date : 15 มีนาคม 2549    
Last Update : 15 มีนาคม 2549 23:49:32 น.
Counter : 153 Pageviews.  

1  2  3  4  5  6  7  8  9  10  11  12  

nmapxp
Location :
กรุงเทพ Thailand

[Profile ทั้งหมด]

ให้ทิปเจ้าของ Blog [?]
ฝากข้อความหลังไมค์
Rss Feed

ผู้ติดตามบล็อก : 1 คน [?]





Friends' blogs
[Add nmapxp's blog to your web]
Links
 

 Pantip.com | PantipMarket.com | Pantown.com | © 2004 BlogGang.com allrights reserved.