LMDBG

ภาพหน้าจอของซอฟแวร์:
LMDBG
รายละเอียดซอฟแวร์:
รุ่น: 1.2.0
วันที่อัพโหลด: 20 Feb 15
ผู้พัฒนา: Aleksey Cheusov
การอนุญาต: ฟรี
ความนิยม: 68

Rating: 5.0/5 (Total Votes: 1)

LMDBG เป็นโปรแกรมที่ช่วยให้การตรวจสอบหน่วยความจำ leaksand ปลดปล่อยคู่ & nbsp;. แต่แตกต่างจากคนอื่น ๆ LMDBG สร้าง * * * * * * * * FULL stacktracesand แยกการเข้าสู่ระบบจากการวิเคราะห์ thusallowing การวิเคราะห์โปรแกรมประยุกต์บนพื้นฐานต่อโมดูล
- lmdbg วิ่ง เป็นสาธารณูปโภค lmdbg หลัก มันทำงานของโปรแกรมประยุกต์และสร้างแฟ้มบันทึก (หรือ FIFO) ซึ่งทั้งหมดเรียกว่า malloc / calloc / realloc / ฟรี / memalign / สวด posix_memalign ลงทะเบียนกับใส่ของพวกเขา (ไบต์นับตัวชี้) เอาท์พุท (ตัวชี้) และ (ซ้ำ !!! คุณลักษณะ !!!) FULL Stacktrace (ชี้)
ตัวอย่าง:
& nbsp; & nbsp; & nbsp; & nbsp; $ ทดสอบแมว / test2.c
& nbsp; & nbsp; & nbsp; & nbsp; #include
& nbsp; & nbsp; & nbsp; & nbsp; int main ()
& nbsp; & nbsp; & nbsp; & nbsp; {
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; เป็นโมฆะ * p1 = NULL;
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; เป็นโมฆะ * p2 = NULL;
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; p1 = malloc (555);
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; P2 = realloc (P2, 666);
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; P2 = realloc (P2, 777);
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; P2 = realloc (P2, 888);
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; กลับ 0;
& nbsp; & nbsp; & nbsp; & nbsp; }
& nbsp; & nbsp; & nbsp; & nbsp; $ gcc -O0 -g ทดสอบ -o _test2 / test2.c
& nbsp; & nbsp; & nbsp; & nbsp; $ lmdbg วิ่ง -o _log ./_test2
& nbsp; & nbsp; & nbsp; & nbsp; $ แมว _log
& nbsp; & nbsp; & nbsp; & nbsp; malloc (555) -> 0xbb901400
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0xbbbe58e8
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0xbbbe5b03
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x8048738
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x8048584
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x80484e7
& nbsp; & nbsp; & nbsp; & nbsp; realloc (NULL, 666) -> 0xbb901800
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0xbbbe58e8
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0xbbbe5a37
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x804874e
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x8048584
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x80484e7
& nbsp; & nbsp; & nbsp; & nbsp; realloc (0xbb901800, 777) -> 0xbb901c00
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0xbbbe58e8
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0xbbbe5a37
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x8048764
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x8048584
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x80484e7
& nbsp; & nbsp; & nbsp; & nbsp; realloc (0xbb901c00, 888) -> 0xbb901800
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0xbbbe58e8
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0xbbbe5a37
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x804877a
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x8048584
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x80484e7
& nbsp; & nbsp; & nbsp; & nbsp; $
หมายเหตุ: StackTrace เต็มช่วยให้คุณสามารถวิเคราะห์ใบสมัครของคุณเช่นคุณสามารถตรวจสอบสิ่งที่บล็อก / ชิ้นส่วนต้องใช้หน่วยความจำมากขึ้นกว่าคนอื่น ๆ และทำไม lmdbg-sym เป็นเครื่องมือที่มีความสำคัญมากสำหรับเรื่องนี้ดูที่ด้านล่าง
- lmdbg-การรั่วไหล วิเคราะห์ล็อกไฟล์ที่สร้างขึ้นโดย lmdbg วิ่งและการส่งออกทั้งหมดของการรั่วไหลของหน่วยความจำที่พบ
ตัวอย่าง:
& nbsp; & nbsp; & nbsp; & nbsp; $ lmdbg-การรั่วไหล _log & nbsp; & nbsp;
& nbsp; & nbsp; & nbsp; & nbsp; realloc (0xbb901c00, 888) -> 0xbb901800
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0xbbbe58e8
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0xbbbe5a37
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x804877a
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x8048584
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x80484e7
& nbsp; & nbsp; & nbsp; & nbsp; malloc (555) -> 0xbb901400
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0xbbbe58e8
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0xbbbe5b03
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x8048738
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x8048584
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x80484e7
& nbsp; & nbsp; & nbsp; & nbsp; $
- lmdbg-sym แปลงที่อยู่ในการ source.c: 999 ถ้าเป็นไปได้
ตัวอย่าง (gdb (1) อยู่ในการดำเนินการ):
& nbsp; & nbsp; & nbsp; & nbsp; $ lmdbg-sym ./_test2 _log
& nbsp; & nbsp; & nbsp; & nbsp; malloc (555) -> 0xbb901400
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0xbbbe58e8
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0xbbbe5b03
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x8048738 & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; การทดสอบ / test2.c: 8 หลัก
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x8048584
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x80484e7
& nbsp; & nbsp; & nbsp; & nbsp; realloc (NULL, 666) -> 0xbb901800
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0xbbbe58e8
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0xbbbe5a37
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x804874e & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; การทดสอบ / test2.c: 9 หลัก
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x8048584
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x80484e7
& nbsp; & nbsp; & nbsp; & nbsp; realloc (0xbb901800, 777) -> 0xbb901c00
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0xbbbe58e8
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0xbbbe5a37
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x8048764 & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; การทดสอบ / test2.c: 10 & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; หลัก
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x8048584
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x80484e7
& nbsp; & nbsp; & nbsp; & nbsp; realloc (0xbb901c00, 888) -> 0xbb901800
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0xbbbe58e8
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0xbbbe5a37
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x804877a & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; การทดสอบ / test2.c: 11 & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; หลัก
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x8048584
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x80484e7
& nbsp; & nbsp; & nbsp; & nbsp; $
ตัวอย่าง (addr2line (1) ทำงานที่นี่):
& nbsp; & nbsp; & nbsp; & nbsp; $ lmdbg-sym -a ./_test2 _log
& nbsp; & nbsp; & nbsp; & nbsp; malloc (555) -> 0xbb901400
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0xbbbe58e8
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0xbbbe5b03
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x8048738 & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; การทดสอบ / test2.c: 8
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x8048584
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x80484e7
& nbsp; & nbsp; & nbsp; & nbsp; realloc (NULL, 666) -> 0xbb901800
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0xbbbe58e8
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0xbbbe5a37
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x804874e & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; การทดสอบ / test2.c: 9
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x8048584
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x80484e7
& nbsp; & nbsp; & nbsp; & nbsp; realloc (0xbb901800, 777) -> 0xbb901c00
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0xbbbe58e8
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0xbbbe5a37
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x8048764 & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; การทดสอบ / test2.c: 10
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x8048584
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x80484e7
& nbsp; & nbsp; & nbsp; & nbsp; realloc (0xbb901c00, 888) -> 0xbb901800
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0xbbbe58e8
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0xbbbe5a37
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x804877a & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; การทดสอบ / test2.c: 11
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x8048584
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x80484e7
& nbsp; & nbsp; & nbsp; & nbsp; $
- lmdbg-sysleaks - greps หรือข้ามรั่วไหลของหน่วยความจำระบบที่พบใน libc, libdl, C ++ STL ฯลฯ ดูการทดสอบ / lmdbg * .conf ไฟล์ config ไฟล์เริ่มต้นเป็น: ~ / .lmdbg.conf และ /etc/lmdbg.conf
- lmdbg = lmdbg วิ่ง + lmdbg-การรั่วไหล + lmdbg-sym + lmdbg-sysleaks
นั่นคือ lmdbg เป็นแบบ all-in-one เครื่องมือระดับที่สูงขึ้น
ตัวอย่าง:
& nbsp; & nbsp; & nbsp; & nbsp; $ lmdbg -v -o _log ./_test2
& nbsp; & nbsp; & nbsp; & nbsp; การรั่วไหลของหน่วยความจำที่ถูกตรวจพบและบันทึกเป็นไฟล์ '_log'
& nbsp; & nbsp; & nbsp; & nbsp; $ แมว _log
& nbsp; & nbsp; & nbsp; & nbsp; realloc (0xbb901c00, 888) -> 0xbb901800
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0xbbbe58e8
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0xbbbe5a37
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x804877a & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; การทดสอบ / test2.c: 11 & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; หลัก
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x8048584
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x80484e7
& nbsp; & nbsp; & nbsp; & nbsp; malloc (555) -> 0xbb901400
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0xbbbe58e8
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0xbbbe5b03
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x8048738 & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; การทดสอบ / test2.c: 8 หลัก
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x8048584
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x80484e7
& nbsp; & nbsp; & nbsp; & nbsp; $

มีอะไรใหม่ ในข่าวประชาสัมพันธ์นี้:

  • lmdbg-sym ไม่ segfaults เพราะมีปัญหากับ StackTrace (3)
  • วิธีการแปลงที่อยู่ง่ายมากและถูกต้องถูกบันทึก.
  • มี speedups อย่างมีนัยสำคัญเนื่องจากการเพิ่มประสิทธิภาพสำหรับ gdb.
  • ใน lmdbg วิ่ง GLIBC ตะขอ malloc จะไม่ใช้.
  • รหัสของตัวเอง lmdbg จะไม่รวมอยู่ใน stacktraces.
  • ตัวเลือก -N ใหม่เพิ่มขึ้นและตัวเลือก -v ได้รับการแก้ไขเล็กน้อย.
  • lmdbg ตัสที่ได้รับการแก้ไขสำหรับ dereference โมฆะที่ปรากฏถ้าฟรี (3) หรือ realloc (3) StackTrace ได้โดยไม่ต้องเหมาะสม malloc / realloc (3) StackTrace.
  • มีการแก้ไขเล็กน้อยอื่น ๆ และการปรับปรุงการปรับปรุงในการทดสอบการถดถอยและการปรับปรุงใน StackTrace (3).

มีอะไรใหม่ ในรุ่น 1.1.0:.

  • การแก้ไขในการทดสอบการถดถอย
  • lmdbg ทำงาน: ศูนย์อยู่จะถูกลบออกจาก stacktraces สร้างขึ้นโดยการติดตามย้อนหลัง glibc ของ (3)
  • .
  • นี้แก้อ้างใน lmdbg ตัส (1).
  • ดับเบิล & quot; 0x & quot; ปัญหาใน & quot; ส่วนข้อมูล & quot; ได้รับการแก้ไข (เห็นใน NetBSD).
  • ติดตามย้อนหลัง (3) จาก libexecinfo (ถ้ามี) ที่ใช้แทนตัวในการดำเนินงาน.
  • lmdbg-sym. ข้อบกพร่องบางได้รับการแก้ไขในการแปลงที่อยู่สัญลักษณ์
  • lmdbg ตัส: ไม่สมบูรณ์อ่านบรรทัดจะถูกละเว้นในขณะนี้ดังนั้นจะไม่มีการยืนยันมากขึ้น (3) s เมื่อโปรแกรมกำลังดีบั๊กถูกฆ่าตาย
  • .
  • การดำเนินการทางเลือกที่เขียนใน awk ถูกลบ.

มีอะไรใหม่ ในรุ่น 0.17.0:

  • รุ่นนี้เพิ่มมากของการปรับปรุงและแก้ไขใน หน้าเว็บที่ใช้ความสามารถใหม่ใน lmdbg, lmdbg วิ่งและ lmdbg-sym และแก้ไขเล็กน้อยเพื่อ lmdbg ตัส.
  • lmdbg อยู่ในขณะนี้เป็นเครื่องมือที่เมตาซึ่งเป็นความสามารถที่จะทำสิ่งอื่น ๆ อีกมากมายไม่เพียงพบการรั่วไหลของหน่วยความจำ.

มีอะไรใหม่ ในรุ่น 0.15.1:

  • เข้าสู่ระบบของ calloc (3) สวดถูกปิดใช้งานบน ระบบ glibc-based (Linux, GNU / kFreeBSD และอาจอื่น ๆ ) เพราะ lmdbg ทำงานล้มเหลวกับพวกเขา.
  • ไมเนอร์สะอาดอัพการแก้ไขและปรับปรุง mk กำหนดค่า & gt;. = 0.20 เป็นสิ่งจำเป็นสำหรับการสร้าง

มีอะไรใหม่ ในรุ่น 0.14.0:

  • เครื่องมือใหม่: lmdbg ตัส, lmdbg-grep และ lmdbg จัดเรียงสำหรับการรวบรวมและวิเคราะห์ข้อมูลทางสถิติเกี่ยวกับการจัดสรรหน่วยความจำ.
  • lmdbg วิ่ง: ทางเลือกใหม่สำหรับ lmdbg วิ่ง. -S และ -M สำหรับการสร้าง stacktraces สั้นลง
  • lmdbg-sym. p ตัวเลือกใหม่สำหรับการได้รับชื่อโปรแกรมจาก lmdbg วิ่งเอาท์พุท
  • แก้ไข: 'ทดสอบ mkcmake' ลบไฟล์ชั่วคราว
  • .

ซอฟต์แวร์ที่คล้ายกัน

Fiddler for Mono
Fiddler for Mono

17 Feb 15

Pyshield
Pyshield

11 May 15

PureTest
PureTest

11 May 15

Linaro GDB
Linaro GDB

20 Feb 15

ซอฟแวร์อื่น ๆ ของนักพัฒนา Aleksey Cheusov

runawk
runawk

19 Feb 15

DictEm
DictEm

20 Feb 15

mk-configure
mk-configure

20 Feb 15

ความคิดเห็นที่ LMDBG

ความคิดเห็นที่ไม่พบ
เพิ่มความคิดเห็น
เปิดภาพ!
ค้นหาตามหมวดหมู่