v9.1 Debugger breaks at unexpected places - why?

v9.1 Debugger breaks at unexpected places - why?

Post by James Stei » Thu, 11 Dec 2003 12:42:56


I purged the de *** cache, re-searched for all files,
zapped the object code and recompiled.
De *** still stops with its line counter arrow
pointing at 'initialize()' in the below procedure:

JRefCount::JRefCount()
: mNRefs(0)
{
initialize();
}


'initialize' calls the de *** ; here is the code:

void JRefCount::initialize() {
// assign next available serial number:
mSerial_rc = ++mNconstructed;
// trap to de *** if programmer is monitoring serial number:
if (mMonitored_JRefCount_number == mSerial_rc)
::De *** ();
// At first call, allocate bit array to track serial numbers:
if (extant_JRefCounted_Objects ==0)
extant_JRefCounted_Objects = new JBits(5000);
// Set bit indicating usage of this serial number:
extant_JRefCounted_Objects->set(mSerial_rc);
}


Since the call to the De *** is in the middle of other statements,
why doesn't the De *** break at, or near, the line that calls it?
 
 
 

v9.1 Debugger breaks at unexpected places - why?

Post by MW Ro » Fri, 12 Dec 2003 03:39:50

In article <091220031942564346% XXXX@XXXXX.COM >,



The obvious answer is you have inlining on or optimization on. Be sure
that all optimizations are off, not just the global ones but also the
processor ones like altivec and instruction scheduling, peephole etc.

If it still doesn't come out right, check to see if you have duplicate
named source files.

Ron

--
New from Metrowerks
The CodeWarrior Wireless Development Kit for Symbian OS, SEMC P900 Edition
Easy-to-use, integrated tools and hardware for SEMC P900 Development
http://www.yqcomputer.com/

Ron Liechty - XXXX@XXXXX.COM - http://www.yqcomputer.com/