Analyzers
Talk to fellow users of Intel Analyzer tools (Intel VTune™ Profiler, Intel Advisor)
4999 Discussions

Intel Thread Profiler 3.1. Only Disassembly view available.

jluiselvira
Beginner
307 Views

Hello.

Im trying to see source view with Thread Profiler, but I get the following warning message and only assembly view is available.

Fri Jul 25 07:49:08 2008 WARNING: Line number information is not available for this module. Only Disassembly view will be available.

Do you want to continue?

Fri Jul 25 07:49:11 2008 WARNING: Line number information is not available for this module. Only Disassembly view will be available.

Do you want to continue?

Fri Jul 25 07:49:13 2008 WARNING: Line number information is not available for this module. Only Disassembly view will be available.

Do you want to continue?

I thing Im building the project with the apropiate switches, and source view is available with Thread Checker, Call Graph and Sampling Wizards shows symbols from source code.

The switches that Im using with Intel C++ are:

/c /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_UNICODE" /D "UNICODE" /Gm /EHsc /RTC1 /MDd /GS /GR /Fo"Debug/" /W3 /nologo /Wp64 /ZI /Gd

And linker switches are:

/OUT:"C:Projectos VS2005primosDebug/primos.exe" /INCREMENTAL /nologo kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /MANIFEST /MANIFESTFILE:"Debugprimos.exe.intermediate.manifest" /DEBUG /PDB:"C:Projectos VS2005primosDebugprimos.pdb" /SUBSYSTEM:CONSOLE /TLBID:1 /FIXED:NO /IMPLIB:"C:Projectos VS2005primosDebugprimos.lib" /MACHINE:X86

Thanks in advance

0 Kudos
1 Reply
David_M_Intel3
Employee
307 Views

Hopefully, you have already figured this out. You did not provide enough description for me to be certain that I am 100% correct, but there is enough information for me to speculate on this with high confidence. VTune Performance Analyzer, event based sampling, callgraph, Intel Thread Checker and Intel Thread Profiler all share the same source display code. There is nothing about Intel Thead Profiler that would prevent display of user written code when it works for the other products just fine.

What is probably happening is that Intel Thread Profiler is identifying a lock/mutex/critical section or some objects that behaves like a lock in a runtime library for which source is not available. This is very common. Go ahead and look at the disassembly - but don't focus on the disassembly - go over and look at the call stack. If you see that you are in a runtime library follow the call stack up - until it shows where your code entered into a runtime library.

There are many functions in the runtime libraries that are implicit locks. You may not even realize that the function you called has a lock embedded in it to make it thread safe (printf, malloc, . . .). Thread Profiler is likely identifying this lock within the runtime library for which source is not available - so follow up the call stack until you find where your code called into this runtime library and look at your source code there - that will show where you were calling something that behaved like a lock.

By default Intel Thread Profiler unwinds the call stack 5 levels, I believe. You may overide this using the advanced options to make the call stack longer if necessary. I hope this helps. If not please provide more information.

-David Mackay

0 Kudos
Reply