Using Intel Composer 2011 std::string won't show up in debugger

Using Intel Composer 2011 std::string won't show up in debugger


chaning my project from Microsoft to the Intel Compiler 2011 in VS2010 the content of a std::string (std::basic_string) won't show up in the debugger view anymore. Instead (...) is shown.

I already found out that the the following line in the autoexp.dat file is the problem:

preview ( #if (($e._Myres) < ($e._BUF_SIZE)) ( [$e._Bx._Buf,s] ) #else ( [$e._Bx._Ptr,s] ))
similar lines below

Using the Microsoft Compiler _BUF_SIZE is defined as an enum with a value of 16 (based on type char). Using the intel compiler this enum is not defined at runtime. So, since _BUF_SIZE is not defined anymore the three dots are shown instead of the actuall string since the #if statement won't compute.

Replacing $e._BUF_SIZE with 16 in that file will get the Job done for this situation, but it will only work if I use basic_string.

How can I solve this and similar Problems?

David Ecker

5 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

Hi, again me.

Probably not a solution, but I replaced($e._BUF_SIZE) with (sizeof($e._Bx)).

It's actually working with both compilers. But I am not sure how it could be done automatically with the installation of Intel Parallel Studio or if this is a valid solution since I am changing a file of the Microsoft VS2010 Installation.

David Ecker

its a bug. i had post it to intel and they want to fix it in the next Version.

Have you got any update on this one?

Hi all,

This is supposed to be fixed in update 3 of Parallel Composer 2011 / C++ Composer XE 2011, and I've verified that with the test case we have here. Let me know if there's any problems.

Leave a Comment

Please sign in to add a comment. Not a member? Join today