[prev in list] [next in list] [prev in thread] [next in thread] 

List:       suse-programming-e
Subject:    Re: [suse-programming-e] Debugging c++ template classes
From:       Jerry Feldman <gaf () blu ! org>
Date:       2005-12-01 20:32:23
Message-ID: 200512011532.24014.gaf () blu ! org
[Download RAW message or body]

On Thursday 01 December 2005 2:44 pm, Steven T. Hatton wrote:

> I don't believe you will be able to do that.  The problem is that
> templates are actually converted into "regular source code" and then
> compiled.  The only thing I can think of which might shed some light on
> things is running `objdump -C ' on the object code.  Depending on your
> situation, that may, or may not be useful.
Just a stab in the dark. Templates are "inlined" which is the correct 
terminology. The problem is that like preprocessor macros you can't really 
get to them per se. 
What I am trying to track down is that there are about 1000 instances of 
this function, and I'm trying to find out why a number of them are not 
showing up in an array in the Intel compiler version, but do show up in the 
G++ version. (I also didn't mention that there are also a lot of dynamic 
shared libraries in the mix which makes it even more challenging).

> The difference in behavior between the two compilers is probably a result
> of the "unspecified behavior" related to program termination.  My guess
> is, the g++ generated version is trying to execute some cleanup code that
> is accessing an invalid memory address.  Examine your destructors
> carfully.
At the moment, I don't really care about the g++ segfault. We only built 
with g++ because we were having other problems with the Intel compiler 
(that was not a problem with the compiler, but with 3rd party libraries).
The problem I'm focusing on is much earlier. 
What we are doing is a 64-bit proof of concept type of situation. In this 
case, the Intel compiler should generate code that runs about 40% faster 
than the g++ code. 

-- 
Jerry Feldman <gaf@blu.org>
Boston Linux and Unix user group
http://www.blu.org PGP key id:C5061EA9
PGP Key fingerprint:053C 73EC 3AC1 5C44 3E14 9245 FB00 3ED5 C506 1EA9

-- 
To unsubscribe, email: suse-programming-e-unsubscribe@suse.com
For additional commands, email: suse-programming-e-help@suse.com
Archives can be found at: http://lists.suse.com/archive/suse-programming-e

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic