Knowledge (XXG)

BoundsChecker

Source 📝

235:- Memory allocation and release is tracked over the life of the application, and an end-of-session report is generated showing which blocks of memory allocated by user code remain allocated at the time of a normal process termination. When compiler instrumentation is used, some memory leaks can be announced earlier, when the last pointer referring to an allocated block memory goes out of scope or gets overwritten by another value. Through the same mechanisms, attempts to use pointers to previously released memory are reported. 328:, the suite has attracted criticism due to the increasingly awkward licensing mechanisms that need to be dealt with when installing and using it. For example, every single review on the online store site selling the product (apart from one submitted by one of its developers) describes the product as effectively unusable due to the way licensing is handled. 256:
API calls are monitored, their input parameters verified before the function calls are actually performed, warning of possible problems. The API return codes are also monitored, and error codes are logged. Such validation is limited to such APIs as are known to BoundsChecker, currently several
274:
API, COM method and .NET Interop function calls can be logged in detail, noting the call parameter values and the resulting return values. This feature is limited in value, as non-trivial applications often result in the session log quickly becoming too large.
265:
When both memory tracking and API validation are enabled, it becomes possible to detect many kinds of array and buffer overrun conditions. Compiler instrumentation enhances this ability. This is the feature for which the product was originally named.
299:
The current version (12.1.40) of BoundsChecker supports 32-bit and 64-bit native applications on Windows 10 (2020 Spring Update). MS-DOS, 16-bit Windows, Windows 2000, Windows XP and Windows 7 environments are no longer supported. As part of
247:- The creation and destruction of system object handles (like file handles, GDI handles and so on) is monitored, and an end-of-session report is generated showing which handles remain at the time of a normal process termination. 331:
Speed - This is a relatively intrusive tool, and can slow the application under test anywhere from 50 to 300 times. The more of the features in use at a time, the slower it gets. This is particularly true when using compiler
342:
Noise - Many results are reported that, while valid, are not very useful. The most common of these kinds of things are API error returns. It is perfectly normal to have certain API calls fail. These kinds of results can be
241:- COM object creation and destruction is tracked over the life of the application, and an end-of-session report is generated showing which objects remain active at the time of a normal process termination. 335:
Currency - Though the product works with many versions of Windows and of Microsoft Visual Studio, the API validation database has not been added to significantly since 2006. Newer APIs are generally not
210:
FinalCheck requires an instrumented build and gives a much deeper but more intrusive analysis. It provides all of the detection features of ActiveCheck plus the ability to detect
257:
thousand in number. If Memory Tracking is enabled, API Call Validation can make use of the information gathered for more precise validation of memory pointers.
497: 389:
10.6 - Apr 2012 - New licensing model, product update checker, preliminary support for Visual Studio 2012, and system tray tool with activity monitor.
200:
and overruns. Monitoring API and COM calls enables ActiveCheck to check parameters, returns and exceptions and report exceptions when they occur.
170: 339:
Portability - Only Microsoft Windows and Microsoft Visual Studio are supported. There is no support for other operating systems nor compilers.
359:
11.4 HF5 - Feb 2020 - Support for Visual Studio 2019 16.4.5. Last version to support Windows 7 or earlier, or Visual Studio 2015 or earlier.
557: 472: 562: 283:
A report can be generated analyzing .NET Interop, garbage collection and finalizer activity over the life of the process under test.
207:
can also be detected by monitoring of the synchronization objects and calls giving actual and potential deadlock detection.
353:
12.0 - Mar 2020 - New version built for latest Visual C/C++ runtime from Microsoft. Many other internal changes as well.
204: 69: 38: 325: 215: 201: 127: 534: 85: 511: 64: 404:
8.2 - May 2007 - Last version with full support for Visual Studio 6.0 and Visual Studio .NET 2003.
552: 365:
11.4 HF3 - May 2019 - Support for Windows 10 2019 Spring Update and Visual Studio 2019 16.0.3.
193: 147: 476: 431: 368:
11.4 HF2 - Dec 2018 - Support for Windows 10 2018 Fall Update and Visual Studio 2017 15.9.4.
362:
11.4 HF4 - Oct 2019 - Support for Windows 10 2019 Fall Update and Visual Studio 2019 16.3.6.
181: 80: 54: 426: 315:
As of March 2021, the Deadlock Analysis feature is not yet supported in X64 applications.
211: 119: 73: 436: 546: 386:
11.0 - Sep 2012 - Full Visual Studio 2012 support, improved performance and accuracy.
309: 305: 383:
11.1 - Apr 2013 - Chinese localization (excluding on-line help). Various bug fixes.
197: 460: 218:. It monitors every scope change, and tracks pointers referencing memory objects. 96: 441: 185: 177: 143: 27: 151: 380:
11.2 - Jan 2014 - Support for Windows 8.1, Windows 8.0 and Visual Studio 2013.
301: 189: 139: 22: 146:
purchased the product line from Compuware in 2009. Comparable tools include
135: 392:
10.5 - Feb 2011 - Supports X64 applications on Windows Vista X64 and later.
291:
Certain kinds of deadly embraces and other such lockups can be detected.
155: 131: 407:
6.0 - 1998 - First version after acquisition of NuMega by Compuware.
371:
11.4 - Nov 2017 - Support for Windows 10 2017 Fall Creator's Update.
123: 377:
11.3 - Jul 2015 - Support for Windows 10 and Visual Studio 2015.
176:
ActiveCheck performs a less intrusive analysis and monitors all
138:
in 1997, BoundsChecker became part of a larger tool suite,
498:"Code Analysis & Metrics Applications - Best Selling" 401:
9.0 - Sep 2008 - Supports Visual Studios 2005 & 2008.
356:
11.5.1 - Sep 2020 - Now uses the WiX Toolset installer.
512:"Top 20+ Memory Leak Detection Tools for Java and C++" 374:
11.3 HF5 - Apr 2017 - Support for Visual Studio 2017.
165:, which will work against any application as is, or 91: 79: 63: 53: 37: 21: 134:in the early 1990s. When NuMega was purchased by 161:BoundsChecker may be run in two distinct modes: 413:4.0 - 1996 - Introduced API Validation feature. 395:10.0 - Apr 2010 - Supports Visual Studio 2010. 8: 16: 173:added to the application when it is built. 15: 453: 122:and API call validation tool used for 7: 461:Micro Focus DevPartner official site 398:9.1 - Oct 2009 - Supports Windows 7. 324:Licensing - Since the takeover by 14: 194:memory allocations and releases 535:InfoWorld, 4 Mar 1991, page 19 304:, the product integrates with 1: 216:uninitialized memory accesses 473:"DevPartner Technical Specs" 180:by the application to the C 44:12.1.40 / 5 March 2021 579: 558:Memory management software 126:software development with 563:Micro Focus International 326:Micro Focus International 49: 33: 261:Memory overrun detection 416:2.0 for DOS - Mar 1991 516:Software Testing Help 222:General functionality 214:(read and write) and 169:, which makes use of 130:. It was created by 128:Microsoft Visual C++ 86:Proprietary software 308:Update 15.9.33 and 252:API call validation 239:COM object tracking 18: 302:DevPartner Studio 287:Deadlock analysis 245:Resource tracking 140:DevPartner Studio 113: 112: 570: 537: 532: 526: 525: 523: 522: 508: 502: 501: 494: 488: 487: 485: 484: 475:. Archived from 469: 463: 458: 432:Programming tool 332:instrumentation. 270:API call logging 212:buffer overflows 196:, it can detect 192:. By monitoring 109: 106: 104: 102: 100: 98: 55:Operating system 19: 578: 577: 573: 572: 571: 569: 568: 567: 543: 542: 541: 540: 533: 529: 520: 518: 510: 509: 505: 496: 495: 491: 482: 480: 471: 470: 466: 459: 455: 450: 427:Memory debugger 423: 350: 348:Version history 321: 297: 289: 281: 272: 263: 254: 233:Memory tracking 229: 224: 182:Runtime Library 171:instrumentation 120:memory checking 95: 74:Memory debugger 45: 12: 11: 5: 576: 574: 566: 565: 560: 555: 545: 544: 539: 538: 527: 503: 489: 464: 452: 451: 449: 446: 445: 444: 439: 437:Dynamic memory 434: 429: 422: 419: 418: 417: 414: 411: 410:5.0 - Mar 1997 408: 405: 402: 399: 396: 393: 390: 387: 384: 381: 378: 375: 372: 369: 366: 363: 360: 357: 354: 349: 346: 345: 344: 340: 337: 333: 329: 320: 317: 296: 293: 288: 285: 280: 277: 271: 268: 262: 259: 253: 250: 249: 248: 242: 236: 228: 227:Leak detection 225: 223: 220: 111: 110: 93: 89: 88: 83: 77: 76: 67: 61: 60: 57: 51: 50: 47: 46: 43: 41: 39:Stable release 35: 34: 31: 30: 25: 13: 10: 9: 6: 4: 3: 2: 575: 564: 561: 559: 556: 554: 551: 550: 548: 536: 531: 528: 517: 513: 507: 504: 499: 493: 490: 479:on 2017-09-20 478: 474: 468: 465: 462: 457: 454: 447: 443: 440: 438: 435: 433: 430: 428: 425: 424: 420: 415: 412: 409: 406: 403: 400: 397: 394: 391: 388: 385: 382: 379: 376: 373: 370: 367: 364: 361: 358: 355: 352: 351: 347: 341: 338: 334: 330: 327: 323: 322: 318: 316: 313: 311: 307: 303: 295:Compatibility 294: 292: 286: 284: 279:.NET analysis 278: 276: 269: 267: 260: 258: 251: 246: 243: 240: 237: 234: 231: 230: 226: 221: 219: 217: 213: 208: 206: 203: 199: 195: 191: 188:and calls to 187: 183: 179: 174: 172: 168: 164: 159: 157: 153: 149: 145: 141: 137: 133: 129: 125: 121: 117: 116:BoundsChecker 108: 94: 90: 87: 84: 82: 78: 75: 71: 68: 66: 62: 58: 56: 52: 48: 42: 40: 36: 32: 29: 26: 24: 20: 17:BoundsChecker 530: 519:. Retrieved 515: 506: 492: 481:. Retrieved 477:the original 467: 456: 314: 312:Update 16.9 298: 290: 282: 273: 264: 255: 244: 238: 232: 209: 198:memory leaks 175: 166: 162: 160: 115: 114: 23:Developer(s) 442:Memory leak 343:suppressed. 190:COM objects 186:Windows API 163:ActiveCheck 144:Micro Focus 105:/devpartner 99:.microfocus 28:Micro Focus 547:Categories 521:2022-02-20 483:2017-05-18 448:References 336:monitored. 319:Criticisms 167:FinalCheck 553:Debuggers 205:deadlocks 136:Compuware 103:/products 421:See also 156:Valgrind 152:Insure++ 70:Profiler 92:Website 81:License 59:Windows 202:Thread 148:Purify 132:NuMega 178:calls 118:is a 310:2019 306:2017 154:and 101:.com 65:Type 124:C++ 97:www 549:: 514:. 184:, 158:. 150:, 142:. 72:/ 524:. 500:. 486:. 107:/

Index

Developer(s)
Micro Focus
Stable release
Operating system
Type
Profiler
Memory debugger
License
Proprietary software
www.microfocus.com/products/devpartner/
memory checking
C++
Microsoft Visual C++
NuMega
Compuware
DevPartner Studio
Micro Focus
Purify
Insure++
Valgrind
instrumentation
calls
Runtime Library
Windows API
COM objects
memory allocations and releases
memory leaks
Thread
deadlocks
buffer overflows

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.