DBGMEM

ภาพหน้าจอของซอฟแวร์:
DBGMEM
รายละเอียดซอฟแวร์:
รุ่น: 1.9.2
วันที่อัพโหลด: 3 Jun 15
ผู้พัฒนา: Moser Michael
การอนุญาต: ฟรี
ความนิยม: 21

Rating: nan/5 (Total Votes: 0)

ขณะนี้การทำงานสำหรับ Linux เท่านั้น DBGMEM ถูกปล่อยออกมาภายใต้เงื่อนไขของสัญญาอนุญาตสาธารณะทั่วไปของเลสเบี้ยน
เครื่องมือที่จะช่วยให้คุณพบปัญหาเช่น
& nbsp; 1 การรั่วไหลของหน่วยความจำ
& nbsp; 2 ความเสียหายของหน่วยความจำกอง
& nbsp; 3 ในทางที่ผิดอาร์กิวเมนต์ผิดกฎหมายที่จะทำงานห้องสมุดมาตรฐานที่เลือก
& nbsp; 4 ความเสียหายของสแต็ค
& nbsp; 5 ใช้หน่วยความจำกองอิสระหรือยกเลิกที่เริ่ม
& nbsp; 6 ช่วยให้คุณสามารถขยายเครื่องมือตรวจสอบข้อโต้แย้งเพิ่มเติมของ API
เครื่องมือแทนที่ฟังก์ชั่นการจัดสรรหน่วยความจำ glibc หน่วยความจำและฟังก์ชั่นการจัดการสตริงเพื่อเพิ่มคุณลักษณะของมัน
DBGMEM ไม่จำเป็นต้องมีการเปลี่ยนแปลงใด ๆ ในการเขียนโปรแกรมของคุณ แต่คุณอาจต้องการที่จะเปลี่ยนโปรแกรมของคุณเพื่อที่จะใช้คุณลักษณะขั้นสูงบาง
DBGMEM เป็นบั๊กมาเปิดหน่วยความจำสำหรับ C และ C ++ โปรแกรมและทำงานภายใต้ระบบปฏิบัติการลินุกซ์และถูกปล่อยออกมาภายใต้ลิขสิทธิ์ GNU Lesser ใบอนุญาตสาธารณะทั่วไป DBGMEM เพิ่มการตรวจสอบการแก้จุดบกพร่องของชิ้นส่วนของ glibc ห้องสมุดมาตรฐาน มันจะถูกนำมาใช้เป็นห้องสมุดสาธารณะที่มีการโหลดลงในพื้นที่ที่อยู่ของกระบวนการบั๊ก
เครื่องมือ
DBGMEM มีเครื่องมือการแก้จุดบกพร่องของหน่วยความจำหลายแต่ละสามารถโหลดเข้าโปรแกรมบั๊ก; เครื่องมือง่ายๆติดตามบล็อกจัดสรรหน่วยความจำทั้งหมดและเพิ่มข้อมูลการเก็บรักษาหนังสือเช่นสแต็คในขณะที่บล็อกที่ถูกจัดสรรลงไปในส่วนหัวของเวทีที่นำหน้าบล็อกจัดสรรหน่วยความจำ; มันยังเพิ่มคำยามก่อนและหลังการบล็อกการจัดสรร; เครื่องมือง่ายๆที่จะใช้ดีที่สุดสำหรับการตรวจสอบปัญหาการรั่วไหลของหน่วยความจำ เป็นส่วนหัวที่เกิดเหตุได้รับความเสียหายโดยโปรแกรมที่มีการดีบั๊ก การตรวจสอบเข้ามาเก็บข้อมูลหนังสือการรักษาทั้งหมดออกมาจาก stack ในแฟ้มแมปหน่วยความจำที่ไม่ระบุชื่อ; เครื่องมือนี้จะทำให้มีประสิทธิภาพมากขึ้นในการทนต่อหน่วยความจำการเขียนทับข้อบกพร่อง เครื่องมือการตรวจสอบนอกจากนี้ยังเพิ่มความสามารถในการได้อย่างรวดเร็วค้นหาข้อมูลในบล็อกกองใด ๆ สำหรับค่าตัวชี้ที่มีอยู่ภายในบล็อกกองที่มิ เครื่องมือการตรวจสอบเพิ่มการตรวจสอบของพารามิเตอร์สตริงร่วมกันและฟังก์ชั่นการจัดการหน่วยความจำและการตรวจสอบสำหรับสแต็คที่เป็นไปได้ดีที่สุดโดยฟังก์ชั่นเหล่านี้
โหมดของการดำเนินงาน
คุณสามารถเรียกใช้โปรแกรมส่วนใหญ่ที่มีการดีบักเป็น; เครื่องมือที่ไม่ต้องใช้โปรแกรมบั๊กที่จะเชื่อมโยงกับห้องสมุดที่เฉพาะเจาะจงใด ๆ เครื่องมือที่เป็นห้องสมุดที่ใช้ร่วมกันที่จะโหลดลงในพื้นที่ที่อยู่ของกระบวนการที่มีการตรวจสอบโดยวิธีการของเทคนิคการฉีด DLL คุณลักษณะ LD_PRELOAD ของลิงเกอร์แบบไดนามิกจะใช้ในการโหลดเครื่องมือที่ใช้ร่วมกันห้องสมุดก่อนห้องสมุดอื่น ๆ ที่มีการโหลด; การจัดสรรหน่วยความจำและฟังก์ชั่นการจัดการสตริงจะดักจับและเรียกว่าเป็นครั้งแรกจากห้องสมุดเครื่องมือ; นี้จะช่วยให้เครื่องมือในการเพิ่มการตรวจสอบของ ในระหว่างการทำงานของกระบวนการบั๊กดิบรายงานเป็นลายลักษณ์อักษรซึ่งจะดำเนินการต่อไปหลังจากการสิ้นสุดของกระบวนการบั๊ก; รายงานการเพิ่มฟังก์ชั่นเพิ่มชื่อสัญลักษณ์ร่องรอยสแต็คที่มีอยู่ในรายงานดิบ ดีบัก Gdb ถูกใช้เพื่อเปิดอยู่เป็นตัวเลขสัญลักษณ์เป็นที่อยู่ระหว่างการประมวลผลต่อไปของการรายงานดิบ

คุณสมบัติ .

  • การรั่วไหลของหน่วยความจำ ; นี้นำไปใช้ทั้งเครื่องมือตรวจสอบและเครื่องมือที่เรียบง่าย เครื่องมือติดตามบล็อกกองแต่ละจัดสรรร่วมกับกองติดตามการดำเนินการในขณะที่บล็อกถูกจัดสรร; นอกจากนี้แท็กจำนวนเต็มจะถูกเก็บไว้กับการจัดสรรแต่ละค่านี้ติดตามเป็นระยะเวลาตรรกะ / `รุ่น 'ที่ characterizes เวลาที่บล็อกได้รับการจัดสรร รายงานของข้อมูลนี้ถูกผลิตขึ้นเสมอเมื่อออกจากกระบวนการหรือเมื่อมีการร้องขอโดยผู้ใช้ ข้อมูลนี้จะช่วยในการค้นหาอินสแตนซ์และสาเหตุของการรั่วไหลของหน่วยความจำ.
  • การใช้หน่วยความจำกองไม่ได้เริ่มต้นหรือหน่วยความจำอิสระกอง; นี้นำไปใช้ทั้งเครื่องมือตรวจสอบและเครื่องมือที่เรียบง่าย เครื่องมือชุดหน่วยความจำทั้งหมดที่จัดสรรใหม่เพื่อให้มีค่า 0xDD ไบต์และหน่วยความจำอิสระกับค่าไบต์ 0xEE; การใช้ค่าเหล่านี้มักจะนำไปสู่​​การเขียนโปรแกรมข้อผิดพลาดหากพื้นที่หน่วยความจำนี้มีตัวชี้แล้วของ dereferencing ชี้กับ 0xDDDDDDDD ค่าจะนำไปสู่​​ความผิดพลาด.
  • หน่วยความจำเสียหายกอง; นี้นำไปใช้ทั้งเครื่องมือตรวจสอบและเครื่องมือที่เรียบง่าย การตรวจสอบเครื่องมือสำหรับหน่วยความจำและเขียนทับจัดโดยการวางคำนำหน้าหน่วยความจำและต่อท้ายในบล็อกกองแต่ละ ถ้าค่าของปัจจัยที่มีการเปลี่ยนแปลงแล้วกองทับ / ประกันภัยมีการตรวจพบ.
  • นี้ใช้กับ '' 'เครื่องมือการตรวจสอบ' '' เท่านั้น วัตถุประสงค์ของฟังก์ชั่นการจัดการสตริงของ glibc และสำเนาหน่วยความจำ / ฟังก์ชั่นการเคลื่อนไหวของ glibc; สแต็คการทุจริตโดยผู้ที่ฟังก์ชั่นการตรวจสอบเครื่องมือที่ได้รับผ่านครั้งแรกในการทำงานห้องสมุดมาตรฐานทั่วไปก็มีการตรวจสอบว่าการทำงานจะไม่เขียนทับบล็อกกองโต้แย้งที่มีอยู่ มันมีการตรวจสอบว่าสแต็คของด้ายโทรจะไม่ได้รับความเสียหาย.

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

  • ทำให้ในขณะนี้ได้รับตัวแปรสภาพแวดล้อม CFLAGS
  • สร้างห้องสมุดที่มีตัวเลือก -ldl dbgmem
  • ห้องสมุดสาธารณะที่วางอยู่ตอนนี้เป็น lib / $ (uname -r) ไดเรกทอรีเช่น glibc แต่งงานกับรุ่นเคอร์เนล.
  • รวบรวมการแก้ไขในบางระบบ (ขั้นตอนที่กำหนด)
  • เพิ่มตัวเลือกในการเรียกใช้สคริปต์ (-m - สร้างร่องรอยสแต็เฉพาะบางรุ่น)

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

  • ให้สคริปต์ปรับปรุงตอนนี้พยายามที่จะตรวจสอบที่จำเป็น การตั้งค่าที่สร้างขึ้น; ยังไม่ได้ตอนนี้วิธีการทำ automake แม้ว่า
  • รวบรวมข้อผิดพลาดในโหมด C สำหรับ gcc 2.9.6 ถาวร gcc ยังคงเกิดปัญหากับข้อผิดพลาดภายใน C ++ โหมดสร้างขึ้น
  • เลือกเพิ่ม -g (ปิดการใช้งานการตรวจสอบสำหรับการจับคู่ของ malloc / ใหม่ / ใหม่ [] และฟรี / ลบ / ลบ [] ในโหมด C ++)

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

  • เพิ่มตัวเลือก -F ตามส้อมและโทร exec (เหมือนใน ส้อม / exec)
  • ตอนนี้พิมพ์ออกบรรทัดคำสั่งของกระบวนการบั๊กในส่วนหัวของไฟล์รายงาน.
  • ชื่อไฟล์แผนที่ในขณะนี้มี pid.
  • ลบไฟล์รายงานดิบโดยค่าเริ่มต้น มีจำนวนมากเกินไปของพวกเขา;
  • การใช้งานทั้งหมดของ sprintf เปลี่ยนไป snprintf

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

rpcpdb
rpcpdb

20 Feb 15

MBW
MBW

18 Feb 15

Frosted
Frosted

17 Feb 15

LDasm
LDasm

3 Jun 15

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

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