มี Valgrind ที่ดีสำหรับ Windows หรือไม่?

ฉันกำลังมองหา Valgrind ที่จะช่วยปรับปรุงการเขียนโค้ด C/การดีบักของฉัน เมื่อฉันพบว่ามันมีไว้สำหรับ Linux เท่านั้น - ฉันไม่มีความต้องการหรือความสนใจอื่นใดในการย้ายระบบปฏิบัติการของฉันไปยัง Linux ดังนั้นฉันจึงสงสัยว่ามีโปรแกรมที่ดีพอๆ กันสำหรับ Windows หรือไม่


person Drake    schedule 05.01.2009    source แหล่งที่มา
comment
คุณต้องการแก้ไขจุดบกพร่องประเภทใด Valgrind เป็นชุดเครื่องมือที่ค่อนข้างสมบูรณ์ และคำตอบด้านล่างนี้ชี้ไปในทุกทิศทาง โดยเน้นที่หน่วยความจำรั่ว/การดีบักการจัดสรร   -  person jakobengblom2    schedule 28.08.2009
comment
บางทีคุณอาจทดสอบโค้ดบนเครื่อง Linux เสมือนภายใน Windows ของคุณได้ในเวลาที่คุณต้องการตรวจสอบ คุณสามารถแชร์โฟลเดอร์การพัฒนาระหว่างเครื่องเสมือนและเครื่องที่ไม่ใช่เสมือนได้ นั่นคือถ้าโค้ดสามารถพกพาได้เพียงพอ   -  person Liran Orevi    schedule 01.10.2009


คำตอบ (38)


เครื่องมือเชิงพาณิชย์ที่ดีบางอย่าง:

person orip    schedule 05.01.2009
comment
ชำระล้าง: น่านับถือแต่ยังคงมีประโยชน์ ดังที่แสดงโดยการเปลี่ยนแปลงความเป็นเจ้าของของบริษัทที่รอดมาได้กี่ครั้ง! - person Norman Ramsey; 05.01.2009
comment
Insure++ ใช้เวลาตลอดไปในการติดตั้งโค้ดของคุณ และใช้เวลาตลอดไปในการรันโค้ดของคุณขณะรันไทม์ - person C Johnson; 09.08.2010

ตามที่ jakobengblom2 ชี้ให้เห็น valgrind มีชุดเครื่องมือมากมาย ขึ้นอยู่กับว่าคุณกำลังพูดถึงส่วนใดมีส่วนเคาน์เตอร์หน้าต่างที่แตกต่างกัน ฉันจะพูดถึง OSS หรือเครื่องมือฟรีที่นี่เท่านั้น

1. MemCheck:

ดร.เมมโมรี่ มันเป็นเครื่องมือที่ค่อนข้างใหม่ ทำงานได้ดีมากบน Windows 7 คุณสมบัติที่ฉันชอบคือมันจัดกลุ่มสแต็กการจัดสรรของการรั่วไหลเดียวกันในรายงาน

http://code.google.com/p/drmemory/

ฉันยังใช้ UMDH( http://support.microsoft.com/kb/268343 ) และ พบว่ามีประโยชน์และติดตั้งง่าย ใช้งานได้ตั้งแต่ Win2000 ถึง Win7

AppVerifier เป็นสิ่งที่ต้องมีสำหรับนักพัฒนาโค้ดเนทีฟของ Windows ตัวตรวจสอบ "หน่วยความจำ" ของมันจะทำงานที่คล้ายกัน http://msdn.microsoft.com/en-us/library/dd371695%28v=vs.85%29.aspx

<แข็งแกร่ง>2. โทรบด:

สิ่งที่ฉันชอบคือ verysleepy ( http://www.codersnotes.com/sleepy ) มีขนาดเล็กแต่มีประโยชน์มาก และใช้งานง่าย

หากคุณต้องการคุณสมบัติเพิ่มเติม AMD CodeAnalyst™ Performance Analyzer นั้นฟรี: http://developer.amd.com/documentation/videos/pages/introductiontoamdcodeanalystPerformanceanalyzer.aspx

เครื่องมือวิเคราะห์ประสิทธิภาพของ Windows เป็นบริการฟรีจาก Microsoft แม้จะใช้งานได้ไม่ง่ายนัก แต่สามารถทำงานได้หากคุณยินดีสละเวลา http://blogs.microsoft.co.il/blogs/sasha/archive/2008/03/15/xperf-windows-Performance-toolkit.aspx ดาวน์โหลด: http://msdn.microsoft.com/en-us/Performance/cc752957

<แข็งแกร่ง>3. แมสซีฟ:

เครื่องมือฟรีที่คล้ายกัน (ไม่ตรงทั้งหมด) บน windows คือ:

VMMap จาก sysinternals : http://technet.microsoft.com/en-us/sysinternals/dd535533

!heap คำสั่งใน windbg : http://hacksoflife.blogspot.com/2009/06/heap-debugging-memoryresource-leak-with.html

<แข็งแกร่ง>4. แคชบด:

เครื่องมือประสิทธิภาพของ Windows ที่กล่าวมาข้างต้นมีความสามารถในการจัดทำโปรไฟล์แคช L2 ในระดับหนึ่ง แต่ยังไม่ดีเท่าและใช้งานง่ายเท่ากับ Cachegrind

<แข็งแกร่ง>5. ดร.ดี:

ยังไม่พบสิ่งใดฟรีและมีประสิทธิภาพเท่าบน Windows เครื่องมือฟรีเดียวสำหรับ windows ที่ฉันพบว่าใกล้เคียงกันเล็กน้อยคือตัวตรวจสอบ "ล็อค" ใน AppVerifier: http://msdn.microsoft.com/en-us/library/dd371695%28v=vs.85%29.aspx

person Lailin Chen    schedule 05.07.2011
comment
นอกจากนี้ยังมี gperftools (เดิมเรียกว่า Google PerfTools) อีกด้วย มันไม่ใช่การแทนที่ valgrind (ซึ่งจริงๆ แล้ว) แต่มี malloc, cpuprofiler, heapprofiler และตัวตรวจสอบใหม่ ควรค่าแก่การดูเนื่องจากรองรับ Linux และ Windows (รวมถึง Mingw) และระบบปฏิบัติการอื่น ๆ - person alexr; 13.02.2012

ทำไมไม่ใช้ Valgrind + Wine เพื่อดีบักแอป Windows ของคุณล่ะ ดู http://wiki.winehq.org/Wine_and_Valgrind

(Chromium ใช้สิ่งนี้เพื่อตรวจสอบข้อผิดพลาดของหน่วยความจำในเวอร์ชัน Windows ดู build.chromium.org และดูน้ำตกเชิงทดลองหรือหน่วยความจำ และค้นหาไวน์)

นอกจากนี้ยังมี Dr. Memory ดูที่ dynamorio.org/drmemory.html

person Dan Kegel    schedule 31.01.2010
comment
เพราะงั้นคุณจะไม่ทำการดีบั๊กแอพ Windows - คุณจะทำการดีบั๊กแอพ Linux - person John Dibling; 05.02.2010
comment
ไม่จำเป็นต้องคอมไพล์ใหม่ในไวน์ เพียงโอน .exe และ .pdb ของคุณไปยังกล่อง Linux และคุณจะไม่ทำการดีบั๊กแอป Linux คุณกำลังดีบั๊กแอป Windows ของคุณ - person Dan Kegel; 14.02.2010
comment
แน่นอน ใช้ของจริงดีกว่าโคลนง่อย :D Love valgrind - person alternative; 22.10.2010
comment
ดี! จาก windows คุณสามารถเรียกใช้เครื่องเสมือนที่ใช้ linux รันซอฟต์แวร์ของคุณในไวน์เกือบ vm ใน valgrind vm คะแนนโบนัสหากเรียกใช้ windows จาก vm ที่ใช้ linux ภายใน windows vm :) - person Imbrondir; 06.05.2011

สำหรับ Visual C++ ให้ลองใช้ Visual Leak Detector เมื่อฉันใช้มัน มันตรวจพบหน่วยความจำรั่วจากการเรียก new และส่งคืนบรรทัดจริงในซอร์สโค้ดของการรั่วไหล สามารถดูรุ่นล่าสุดได้ที่ http://vld.codeplex.com/

person tgs_stdio    schedule 30.08.2009
comment
ดูเหมือนจะไม่ทำงานสำหรับฉัน ฉันยังลองสร้างโปรเจ็กต์ง่ายๆ ที่ไม่ได้ทำอะไรเลยนอกจากจัดสรรหน่วยความจำบางส่วนและไม่ทำให้ว่าง VLD ตรวจไม่พบ :-| - person Synetech; 25.08.2010
comment
@ซินเทคอิงค์ ฉันมีปัญหาเดียวกันใน VS2010... การใช้ VLD เวอร์ชันใหม่ล่าสุดช่วยแก้ปัญหาของฉันได้ - person relaxxx; 07.04.2011

สภาพแวดล้อมการพัฒนาสำหรับ Windows ที่คุณใช้อาจมีเครื่องมือของตัวเอง ตัวอย่างเช่น Visual Studio ช่วยให้คุณสามารถ ตรวจจับและแยกหน่วยความจำ รั่วไหลในโปรแกรมของคุณ

person dmityugov    schedule 05.01.2009
comment
มีการใช้งานจริงน้อยมาก มันจะบันทึกชื่อไฟล์/linenumber สำหรับการจัดสรรที่ละเมิด แต่จะให้ข้อมูลหากคุณโทรหา malloc โดยตรง เมื่อใช้ new/delete ระบบจะระบุ new.h ว่าเป็นโค้ดที่ละเมิดโดยไม่ช่วยอะไร - person user9665; 09.04.2009
comment
มันทำงานได้อย่างถูกต้องสำหรับฉัน โดยชี้บรรทัดที่ถูกต้องแม้จะใช้ใหม่/ลบก็ตาม - person Rodrigo; 22.04.2009
comment
แต่จะใช้งานได้หรือไม่หากฟังก์ชันไลบรารีจัดสรร เช่น. strdup - person Alex Budovski; 14.12.2009
comment
Debug CRT ซึ่งเป็นสิ่งที่คุณพยายามจะอธิบายมีประโยชน์สำหรับโค้ด C การทำให้โค้ด C++ ใช้งานได้นั้นมีปัญหามากกว่า - person C Johnson; 09.08.2010
comment
Valdrind ทำมากกว่า มาก จากนั้นค้นหาหน่วยความจำรั่ว โดยส่วนใหญ่ฉันใช้เพื่อค้นหาการใช้หน่วยความจำสแต็กและฮีปที่ว่างและไม่ได้กำหนดค่าเริ่มต้น ซึ่งอาจแก้ไขจุดบกพร่องได้ยากอย่างไม่น่าเชื่อ - person ideasman42; 10.08.2011
comment
@user9665 Visual Leak Detector (vld.codeplex.com) ให้ callstack เต็มรูปแบบสำหรับหน่วยความจำรั่วแต่ละรายการโดยมีการเปลี่ยนแปลงซอร์สโค้ดเพียงเล็กน้อย . ตรวจสอบตัวอย่างบนเว็บไซต์ - person KindDragon; 20.04.2012

ฉันต้องการแสดงรายการเครื่องมือบางอย่าง หวังว่าจะมีประโยชน์

อ่านบทความนี้เพื่อดูรายละเอียดเพิ่มเติม

  1. เพียวริฟาย
  2. ตัวตรวจสอบขอบเขต
  3. Coverity (โดยพื้นฐานแล้วมันเป็นเครื่องวิเคราะห์โค้ด แต่มันจะตรวจจับหน่วยความจำรั่วแบบคงที่)
  4. รหัสเรืองแสง
  5. ดมัลลอค
  6. ซีมัลลอค
  7. NJAMD
  8. ยัมดี
  9. วาลกรินด์
  10. ตำรวจตระเวน
  11. ประกัน++
person Satbir    schedule 01.10.2009

ลองใช้ DUMA

person Diaa Sami    schedule 28.08.2009

มี Pageheap.exe เป็นส่วนหนึ่งของเครื่องมือดีบักสำหรับ Windows ใช้งานได้ฟรีและโดยพื้นฐานแล้วเป็นตัวจัดสรร/จัดสรรหน่วยความจำแบบกำหนดเอง

ดู http://support.microsoft.com/kb/286470

person Community    schedule 09.04.2009
comment
Pageheap/gflags ช่วยให้ฉันทราบถึงปัญหาความเสียหายของฮีปที่น่ารังเกียจได้ - person the_mandrill; 23.06.2010
comment
ฉันพบว่า gflags + gdb (จาก mingw) มีประโยชน์ในการวินิจฉัย - person Jarekczek; 31.10.2012

เมื่อใช้ร่วมกับ Visual Studio โดยทั่วไปฉันใช้ Visual Leak Detector หรือเพียงแค่ _CrtDumpMemoryLeaks() ซึ่งเป็นการเรียก win32 api ทั้งสองไม่มีอะไรหรูหรา แต่พวกเขาทำงานให้เสร็จ

person Jasper Bekkers    schedule 01.10.2009

ฉันมีโอกาสใช้ Compuware DevPartner Studio ในอดีต และนั่นเป็นสิ่งที่ดีจริงๆ แต่มันค่อนข้างแพง วิธีแก้ปัญหาที่ถูกกว่าอาจเป็น GlowCode ฉันเพิ่งทำงานกับเวอร์ชัน 5.x และถึงแม้จะมีปัญหาอยู่บ้าง ในการแนบกับกระบวนการที่ฉันต้องการแก้ไขข้อบกพร่อง มันทำงานได้ค่อนข้างดี

person Manuel    schedule 05.01.2009
comment
ราคาแพงใช่ มันคืนทุนภายในหนึ่งสัปดาห์ เพียงแค่ใช้ชิ้นส่วนโปรไฟล์ - person EvilTeach; 05.01.2009

ฉันชอบ Memory Validator จากบริษัทที่ชื่อว่า Software Verification มาก

person stevex    schedule 05.01.2009

Visual Studio สามารถช่วยตรวจจับการรั่วไหลของหน่วยความจำได้ ดูคำแนะนำและเคล็ดลับ Microsoft Visual C++ -> ส่วน "หน่วยความจำรั่ว" ดูโพสต์ใน SO นี้ด้วย

แม้ว่าการติดตามจริงจะทำได้เฉพาะกับ Team Edition ของ Visual Studio เท่านั้น

person fmuecke    schedule 01.10.2009

ดูลิงก์ "เครื่องมือทดสอบแหล่งที่มา" บนเครื่องมือทดสอบและทดสอบซอฟต์แวร์ QA หน้าแหล่งข้อมูลสำหรับรายการเครื่องมือที่คล้ายกัน

ฉันเคยใช้ BoundsChecker, DevPartner Studio และ Intel V-Tune มาก่อนในการทำโปรไฟล์ ฉันชอบ V-Tune ที่สุด; คุณสามารถจำลองชิปเซ็ต Intel ต่างๆ ได้ และมันจะให้คำแนะนำเกี่ยวกับวิธีการปรับให้เหมาะสมสำหรับแพลตฟอร์มนั้น

person Patrick Cuff    schedule 05.01.2009

Jochen Kalmbach's Memory Leak Detector มีคุณสมบัติหรือไม่

PS: URL ของเวอร์ชันล่าสุดถูกฝังอยู่ที่ไหนสักแห่งในกระทู้ความคิดเห็นของบทความ

person Agnel Kurian    schedule 03.03.2010

LeakDiag, UMDH, App Verifier, DebugDiag ล้วนเป็นเครื่องมือที่มีประโยชน์ในการปรับปรุงความทนทานของโค้ดและค้นหาหน่วยความจำรั่ว

person Alex Budovski    schedule 19.04.2010

ไลบรารี Boost Test สามารถตรวจจับการรั่วไหลของหน่วยความจำได้

person zr.    schedule 02.07.2010

Purify เป็นอย่างไร

person grigy    schedule 01.10.2009
comment
ไม่ฟรีจริงๆ... แต่ฉันเดาว่าคุณสามารถหาใบอนุญาตทดสอบเพื่อการทดสอบได้ - person David Rodríguez - dribeas; 01.10.2009
comment
ลิงก์เสีย ณ วันที่ 02-02-2554 สำหรับ BoundsChecker - person dwj; 05.02.2011

ลองใช้ผลิตภัณฑ์ Inspector XE ของ Intel ซึ่งสามารถช่วยคุณตรวจจับปัญหาทั้งหน่วยความจำและเธรด: http://software.intel.com/en-us/articles/intel-inspector-xe/

person Alexey Alexandrov    schedule 21.02.2012

บางที CodeSnitch อาจเป็นสิ่งที่คุณตามหาใช่ไหม? http://www.entrek.com/codesnitch.html

person Alex Fort    schedule 05.01.2009

หากคุณกำลังพัฒนาด้วย Borland/CodeGear/Embarcadero C++ Builder คุณสามารถใช้ CodeGuard ได้

person Vince    schedule 15.07.2009

ไม่มากก็น้อย Profiler ทั้งหมดจะรวมการตรวจสอบหน่วยความจำรั่วและแสดงสแต็กให้คุณเห็นเมื่อมีการจัดสรรหน่วยความจำ

ฉันขอแนะนำ Intels Parallel Inspector ได้ ใช้งานง่ายและไม่จำเป็นต้องคอมไพล์ใหม่ เวอร์ชันทดลองใช้งานเป็นเวลา 30 วัน

GlowCode และ AtromatedQA ยังรวมถึงความสามารถดังกล่าวด้วย พวกเขาทั้งหมดเสนอให้ทดลองใช้ฟรี

Compuware DevPartner (aka BoundsChecker) ใน Contrast ต้องการการคอมไพล์ "เครื่องมือ" ที่ช้าลง และแอปพลิเคชันยังทำงานช้าลงเมื่อตรวจสอบข้อผิดพลาด และ BoundsChecker ไม่สามารถทำงานกับ evsrions 64 บิตได้เลย เรายอมแพ้กับเครื่องมือนั้น

person RED SOFT ADAIR    schedule 01.10.2009
comment
ฉันแนะนำ Glowcode อย่างแน่นอน ฉันเคยใช้มันในอดีตเพื่อค้นหาหน่วยความจำรั่วภายใน dll ที่ถูกเรียกโดยแอปของฉัน - person Bob; 01.10.2009
comment
มีการร้องเรียนเกี่ยวกับการชะลอตัวครั้งใหญ่ขณะใช้ DevPartner ในที่ทำงานสุดท้ายของฉัน พวกเขาทำทุกอย่างเพื่อหลีกเลี่ยงการใช้มันเพราะมันช้าแค่ไหน - person Calyth; 01.10.2009

เครื่องมือที่ดีที่สุดที่ฉันเคยใช้คือ DevPartner BoundsChecker - ไม่ฟรีแต่มีการประเมิน ระยะเวลา.

person Dror Helper    schedule 01.10.2009

เครื่องมือหน่วยความจำอื่นสำหรับรายการของคุณ: Memory Validator

ไม่ฟรี แต่ไม่มีที่ไหนใกล้จะแพงเท่ากับ Purify หรือ Boundschecker

person Stephen Kellett    schedule 02.04.2010

หากคุณไม่กลัว mingw นี่คือลิงก์บางส่วน (บางลิงก์อาจใช้ได้กับ MSVC)... http://betterlogic.com/roger/?p=1140

person rogerdpack    schedule 09.08.2010

เราเพิ่งดำเนินการเครื่องมือตรวจสอบความปลอดภัยของหน่วยความจำสำหรับ Windows ที่จัดการ GCC และ Micrsoft Visual C (ไม่ใช่ C++) และกำลังมองหาผู้ทดสอบเบต้า

แก้ไข 12 มิถุนายน 2554: ไม่ใช่เบต้าอีกต่อไป ตอนนี้ใช้งานจริงสำหรับ GCC และ Microsoft Visual Studio C

person Ira Baxter    schedule 06.04.2011

ฉันพบโครงการ SF นี้วันนี้:

http://sourceforge.net/p/valgrind4win/wiki/Home/

พวกเขากำลังย้าย valgrind ไปยัง Windows อาจเป็นไปได้ว่าเราจะมี valgrind ที่เชื่อถือได้บน windows ในอีกหลายปีข้างหน้า

person Calmarius    schedule 05.06.2012


ฉันใช้ Insure++ ซึ่งทำงานได้อย่างยอดเยี่ยมในการค้นหาการรั่วไหล/ความเสียหายของหน่วยความจำ c++ และข้อบกพร่องอื่นๆ อีกมากมาย เช่น ตัวแปรที่ไม่ได้กำหนดค่าเริ่มต้น ข้อผิดพลาดของตัวชี้ สตริง ฯลฯ นอกจากนี้ยังแสดงภาพ "การครอบคลุมโค้ด" และการใช้หน่วยความจำรันไทม์ ฯลฯ ซึ่งให้ความมั่นใจมากขึ้น รหัสของคุณ .. คุณสามารถลองใช้เวอร์ชันเทรลได้ ..

person Red    schedule 01.10.2009

คุณอาจต้องการอ่านสิ่งที่ Mozilla กำลังทำ เกี่ยวกับหน่วยความจำรั่ว เครื่องมือหนึ่งในกล่องเครื่องมือคือเครื่องเก็บขยะ Hans Boehm ที่ใช้เป็น เครื่องตรวจจับการรั่วไหลของหน่วยความจำ .

person Cristian Adam    schedule 01.10.2009

คุณสามารถทดลองใช้ RuntimeChecker เพื่อ IBM Purify ทดลองใช้..

วิธีแก้ปัญหาฟรีคือการใช้รหัสต่อไปนี้ใน Visual Studio:

#ifdef _DEBUG
#define new DEBUG_NEW
#endif

เพียงเขียนสิ่งนี้ไว้ที่ด้านบนของไฟล์ cpp ทั้งหมดของคุณ วิธีนี้จะตรวจจับการรั่วไหลของหน่วยความจำของแอปพลิเคชันของคุณเมื่อหยุดการทำงานดีบักและแสดงรายการเหล่านั้นในหน้าต่างเอาท์พุต การคลิกสองครั้งที่บรรทัดหน่วยความจำรั่วจะไฮไลต์บรรทัดที่หน่วยความจำถูกจัดสรรและไม่เคยถูกปล่อยออกมา สิ่งนี้อาจช่วยคุณได้: http://www.flipcode.com/archives/How_To_Find_Memory_Leaks.shtml

person Patrice Bernassola    schedule 01.10.2009

ยูทิลิตี้การถ่ายโอนข้อมูลฮีปโหมดผู้ใช้ (UMDH) ทำงานร่วมกับระบบปฏิบัติการ ระบบเพื่อวิเคราะห์การจัดสรรฮีปของ Windows สำหรับกระบวนการเฉพาะ นั่นเป็นเครื่องมือที่ดีทีเดียวจาก Microsoft ฟรี ที่นี่คือบทช่วยสอนสั้นๆ "วิธีใช้ Umdh.exe เพื่อค้นหาหน่วยความจำรั่ว"

person Kirill V. Lyadvinsky    schedule 01.10.2009

ชำระล้างแน่นอน! ฉันเคยใช้มันเพื่อวิเคราะห์ฐานโค้ดขนาดใหญ่ (>3,000 kSLOC) และพบว่ามันยอดเยี่ยมมาก

คุณอาจต้องการดูรายการนี้ที่ Wikipedia

อย่างไรก็ตาม ฉันพบว่า memwatch มีประโยชน์ ขอบคุณโจฮาน!

person Rob Wells    schedule 01.10.2009

เครื่องมือฟรี DebugDiag จะช่วยค้นหาหน่วยความจำและจัดการกับการรั่วไหล

คุณไม่จำเป็นต้องเพิ่มโปรแกรมของคุณเพื่อให้ DebugDiag ทำงานได้

http://www.microsoft.com/downloads/details.aspx?FamilyID=28BD5941-C458-46F1-B24D-F60151D875A3&displaylang=en

แม้ว่าจะไม่ใช่โปรแกรมที่ง่ายที่สุดหรือใช้งานง่ายที่สุด! ตรวจสอบให้แน่ใจว่าคุณใช้ Google สำหรับบทช่วยสอนและคำแนะนำเกี่ยวกับวิธีการใช้งาน

person Ashley Davis    schedule 15.03.2010

คุณสามารถดูบทความ การออกแบบและการปรับใช้โปรไฟล์หน่วยความจำในเกม ใน หนังสือ "การเขียนโปรแกรมเกม Gems 8"

โดยจะแสดงวิธีการใช้โปรไฟล์หน่วยความจำแบบเรียลไทม์แบบกึ่งรบกวนระบบโอเวอร์เฮดระดับต่ำ ซึ่งเป็นซอร์สโค้ดที่ให้ไว้ในซีดีรอม

ป้อนคำอธิบายรูปภาพที่นี่

person Ricky Lung    schedule 21.07.2011

Clang รองรับปลั๊กอิน Address Sanitizer (ตัวเลือก -faddress-sanitizer) ซึ่งสามารถตรวจจับข้อบกพร่องส่วนใหญ่ที่ Valgrind พบได้ (แต่ยังไม่รองรับการตรวจจับการอ่านหน่วยความจำที่ไม่ได้เตรียมใช้งานและหน่วยความจำรั่ว) ดูหน้านี้ เพื่อเปรียบเทียบกับ Valgrind และเครื่องมืออื่นๆ ที่คล้ายคลึงกัน ขณะนี้กำลังดำเนินการพอร์ต Windows อย่างเป็นทางการ โปรดดูที่พอร์ต Windows ASan

ฉันพยายามสร้างมันเองบน Windows เมื่อสองสามเดือนที่ผ่านมาและล้มเลิกไป ดู ที่เกี่ยวข้องของฉัน คำถาม. สิ่งต่างๆ อาจเปลี่ยนแปลงไปในทางที่ดีขึ้นในขณะนี้หากคุณต้องการลองอีกครั้ง

person thegreendroid    schedule 24.09.2012

แค่เป็นแนวคิด คุณยังสามารถใช้ตัวจัดสรรหน่วยความจำและติดตามการโทรทั้งหมดไปยัง malloc และฟรีได้ อย่างไรก็ตาม นี่อาจจะมากเกินไปสำหรับบางโครงการ

person adrian    schedule 06.02.2011
comment
นั่นเป็นวิธีที่เกมส่วนใหญ่ทำ แต่มันเป็นภารกิจที่ยิ่งใหญ่และมีเครื่องมือมากมาย - person Crashworks; 29.11.2011

Parasoft Insure++ เชื่อถือได้เสมอ:

http://www.parasoft.com/jsp/products/insure.jsp?itemId=63

person Community    schedule 05.04.2011