Browse Prior Art Database

Breakpoints based on Breakpoints Disclosure Number: IPCOM000199936D
Publication Date: 2010-Sep-21
Document File: 2 page(s) / 82K

Publishing Venue

The Prior Art Database


One of the major problems in debugging of huge code base is the debugging of generic functions. As generic functions gets called by lot many paths in projects, so putting breakpoints in generic functions and debugging doesn’t help, as the debugger will stop a lot many number of times and developers couldn’t recognize what would be exact path to debug it correctly.

This text was extracted from a PDF file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 98% of the total text.

Page 1 of 2

Breakpoints based on Breakpoints

So Lets understand the idea with this terminology: Simple Breakpoints are : B1,B2,B3,B4,B5,B6………. Special Breakpoint is : SB1,SB2,SB3………..

Normal Function are :foo








Generic Functions are:Gfoo







So in normal debuggers if we put Bn in Gfoo


n() and try to debug then execution will stop many

times because Gfoo

_n() might be get called from normal functions [foo




According to our idea if we put SBn in Gfoo


                           n() and try to debug then execution will stop only when the execution has been passed through the specified set of breakpoints from simple breakpoint pool.

user can define a mapping hierarchy for SBn to activate only when coming from combination of Bn(s)

e.g: SB1 B1 + B4 + B7



The order of breakpoints will matter because a simple/special breakpoint can come more then once in defining special breakpoints indicating the execution has to pass through y number of times through that breakpoint.

A Special breakpoint can be a combination of existing special breakpoints as well giving user the facility of reusability.

The below diagram explains the uses of special breakpoints in simple Hello.cpp file debugging.


Page 2 of 2

As we can see the special breakpoint which will be represented as squares, will halt the execution only when the execution had already passed the specified order
(e.g.B1, B3,B2)


[This page c...