1

I'm using AMD CodeAnalyst plugin to MSVC to profile my code, but I'm having a problem getting information on which methods are called... It seems it truncates symbol names at 259 characters, which is hardly enough when using boost (template typenames are long...).

Does anyone know if the symbol length can be changed somehow? I've tried googling it, but didn't find anything useful.

EDIT: A typical line:

std::_Find<boost::detail::sei_<unsigned int,std::_List_iterator<std::_List_val<boost::list_edge<unsigned int,boost::property<enum boost::edge_weight_t,double,boost::no_property> >,std::allocator<boost::list_edge<unsigned int,boost::property<enum boost::edge_w

As you can see it ends in the middle of a template ([...]boost::property<enum boost::edge_w).

carlpett
  • 12,203
  • 5
  • 48
  • 82
  • Are you including argument types? Can you turn those off? – Mike Dunlavey Aug 24 '11 at 13:45
  • I'm not sure I understand you, I edited in an example line in the question. If you mean template arguments, then yes, they are there. I haven't seen an option to turn it off :( – carlpett Aug 24 '11 at 13:49
  • Well, I just use [this method](http://stackoverflow.com/questions/375913/what-can-i-use-to-profile-c-code-in-linux/378024#378024). The call stack window in MSVC has options, such as not showing arguments, so it doesn't flood you with text. (i.e. if you want to find the "bottlenecks", forget CodeAnalyst :) – Mike Dunlavey Aug 24 '11 at 13:59
  • have you checked with `dumpbin`( http://support.microsoft.com/kb/177429 ) that this CodeAnalyst at fault and *not* MSVC? – Necrolis Aug 24 '11 at 14:10
  • Where did you find that option? I'm using MSVC 2010 Professional, but I can't find it. – carlpett Aug 24 '11 at 14:11
  • @Necrolis: `dumpbin` did not really give anything, except for a bunch of mangled names. And most of the long ones are not from my own code, but rather boost. But I see your point, it might as well be MSVC limiting the symbol length – carlpett Aug 24 '11 at 14:35
  • I don't have access to it right now, but it's something like right-click on the top of the call stack window. – Mike Dunlavey Aug 24 '11 at 20:27
  • @Mike: Nope, doesn't work. Checked out the `Debug > Options and Settings` menu, but I couldn't find anything which seemed to relate to this – carlpett Aug 26 '11 at 07:34
  • It's not there. You have to be displaying the call stack window itself. Right-click in there, or on the header bar. – Mike Dunlavey Aug 26 '11 at 16:18
  • @Mike: That was what wasn't working, sorry if I wasn't clear. Right-clicking the header or window only gives alternatives about docking – carlpett Aug 30 '11 at 20:22
  • In my VS 2008, if I'm displaying the call stack window, and I've paused the program so it's displaying a sample, if I right-click on the column header of the window, I get a context menu a mile long that includes, among lots of other options, view options like the arguments to the calls (which I turn off). Then I can also do a "Select All" and a "Copy", and copy the whole thing into Notepad. – Mike Dunlavey Aug 30 '11 at 23:07
  • And in my trusty old MSVC 6, if I halt it and have the call stack window open, if I right-click inside the window, there's a smaller context menu, but it includes the options of viewing the paramater types and values. – Mike Dunlavey Aug 30 '11 at 23:13
  • @Mike: Ok, now I found it. I'd been right clicking the "title bar" of the window, which gave a menu about docking. However, even removing all of the "Show X" options, the class to which a member belongs retains it's full type, including template parameters. Also, CodeAnalyst doesn't pick up this change. – carlpett Sep 01 '11 at 05:59

0 Answers0