Author Topic: Your debugger is not using the correct symbols...  (Read 18438 times)

lwb78750

  • Community Member
  • Posts: 53
  • Hero Points: 1
  • Senior Software Engineer, C++, Qt, C, etc...
Your debugger is not using the correct symbols...
« on: September 01, 2011, 08:37:18 pm »
I'm running a windows version of sSlickEdit 16.0.2.0 with a Visual Studio Project.
The path for my .pdb file is correct, but I continue to get this error for most of
the non-class symbols I'm debugging.  Does anyone have an idea what could be wrong?

***    Your debugger is not using the correct symbols                        ***
***                                                                                                ***
***    In order for this command to work properly, your symbol path   ***
***    must point to .pdb files that have full type information.              ***
***                                                                                                 ***
***    Certain .pdb files (such as the public OS symbols) do not           ***
***    contain the required information.  Contact the group that           ***
***    provided you with these symbols if you need this command to    ***
***    work.                                                                                     ***

Lee

  • SlickEdit Team Member
  • Senior Community Member
  • *
  • Posts: 1299
  • Hero Points: 130
Re: Your debugger is not using the correct symbols...
« Reply #1 on: September 01, 2011, 09:12:46 pm »
Are some symbols correct? Are you sure all symbol path(s) are correct and the pdb up-to-date?  Was there any other error in the output indicating a failure? 
Code: [Select]
*** ERROR: Module load completed but symbols could not be loaded for foo.exe

lwb78750

  • Community Member
  • Posts: 53
  • Hero Points: 1
  • Senior Software Engineer, C++, Qt, C, etc...
Re: Your debugger is not using the correct symbols...
« Reply #2 on: September 07, 2011, 03:15:13 pm »
Thanks for the response.  I checked the path for the pdb files and it looks right.  All the local symbols work, it's just the globals and class members that give me fits.  All the pdb files are up-to-date - I checked that.  I'm really stumped.

Lee

  • SlickEdit Team Member
  • Senior Community Member
  • *
  • Posts: 1299
  • Hero Points: 130
Re: Your debugger is not using the correct symbols...
« Reply #3 on: September 07, 2011, 04:34:03 pm »
Can you provide a sample that demonstrates the problem?  I need more info to help diagnose the issue. 

OS and Platform (32 or 64-bit)?
SlickEdit platform?
Target executable platform?
WinDbg (dbgeng.dll) version?
Visual Studio version and project type/settings?

Any additional info would help.


lwb78750

  • Community Member
  • Posts: 53
  • Hero Points: 1
  • Senior Software Engineer, C++, Qt, C, etc...
Re: Your debugger is not using the correct symbols...
« Reply #4 on: September 07, 2011, 05:01:45 pm »
Sure...
Windows 7 64bit
SlickEdit 2011 (v16.0.2.0 64-bit)
The target is 32 bit, Windows
Nov 20  2010  C:\Windows\system32\dbgeng.dll
Visual Studio 2008 9.0.30729.1 SP

I just ran Visual Studio and the debugger works great.  I then saved the project and opened it with SlickEdit and I have the same problem where I can't get the symbols for other classes.  The pdb path is correct.  I also noticed that when I build with Visual Studio the pdb file is about 10%-20% larger than when I build with Slick Edit.  (I tried using the Visual Studio version of the pdb file with SlickEdit and that didn't help.)   I'm not sure where to go from here....

Thanks!

lwb78750

  • Community Member
  • Posts: 53
  • Hero Points: 1
  • Senior Software Engineer, C++, Qt, C, etc...
Re: Your debugger is not using the correct symbols...
« Reply #5 on: September 07, 2011, 05:18:53 pm »
Here are all the switches I'm using from MSVS for the command line of the compiler and linker:

/Od /I "..\shared_src\RAD" /I "..\shared_src" /I "..\shared_src\math" /I "..\src" /I "..\shared_src\log4c" /D "WINVER=0x0700" /D "_CRT_SECURE_NO_WARNINGS=1" /D "VS2008" /D "CRUIZER" /D "DEMO_MODE_ONLY" /D "_CRT_SECURE_NO_DEPRECATE" /D "DEBUG" /D "_CRT_NON_CONFORMING_SWPRINTFS" /D "DEBUG_FEATURES" /D "_VC80_UPGRADE=0x0600" /D "_UNICODE" /D "UNICODE" /FD /EHsc /RTC1 /MTd /Fp".\Debug\miniZ.pch" /Fo".\Debug\\" /Fd".\Debug\\" /FR".\Debug\\" /W4 /WX /nologo /c /ZI /TP /wd4214 /wd4201 /errorReport:prompt

/VERBOSE:LIB /OUT:".\Debug\miniz\miniZ.exe" /INCREMENTAL /NOLOGO /MANIFEST /MANIFESTFILE:".\Debug\miniZ.exe.intermediate.manifest" /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /DELAYLOAD:"OleAcc.dll" /DEBUG /ASSEMBLYDEBUG /PDB:"c:\dev\AG\Cruizer\Trunk\src\Debug\miniz\miniZ.pdb" /MAP:"c:\dev\AG\Cruizer\Trunk\src\Debug\miniz\miniZ.map" /SUBSYSTEM:WINDOWS /ENTRY:"wWinMainCRTStartup" /DYNAMICBASE:NO /MACHINE:X86 /ERRORREPORT:PROMPT ws2_32.lib msimg32.lib Wininet.lib DelayImp.lib

Thanks

Lee

  • SlickEdit Team Member
  • Senior Community Member
  • *
  • Posts: 1299
  • Hero Points: 130
Re: Your debugger is not using the correct symbols...
« Reply #6 on: September 07, 2011, 05:49:56 pm »
Have you tried using the WinDbg or the console debugger cdb directly to debug?  I wonder if it is having the same issue.

lwb78750

  • Community Member
  • Posts: 53
  • Hero Points: 1
  • Senior Software Engineer, C++, Qt, C, etc...
Re: Your debugger is not using the correct symbols...
« Reply #7 on: September 07, 2011, 06:06:43 pm »
No, but I'll try that and get back to you...

lwb78750

  • Community Member
  • Posts: 53
  • Hero Points: 1
  • Senior Software Engineer, C++, Qt, C, etc...
Re: Your debugger is not using the correct symbols...
« Reply #8 on: September 07, 2011, 07:44:56 pm »
When running WinDbg, I seem to be getting the same error message: "Your debugger is not using the correct symbols..."
This was after I built with SlickEdit.  I'll try the same scenario with a Visual Studio build.

chrisant

  • Senior Community Member
  • Posts: 1410
  • Hero Points: 131
Re: Your debugger is not using the correct symbols...
« Reply #9 on: September 07, 2011, 10:15:37 pm »
Perhaps the compiler settings when building from SE don't enable full debug information in the pdbs.  Check the compiler flags etc.

lwb78750

  • Community Member
  • Posts: 53
  • Hero Points: 1
  • Senior Software Engineer, C++, Qt, C, etc...
Re: Your debugger is not using the correct symbols...
« Reply #10 on: September 07, 2011, 11:10:59 pm »
I have checked every flag and switch I can find. When I run the exact same sln file in Visual Studio, it works - in SE it does not.  I'm still trying to see if there is a way to tell the compiler/linker to generate more complete information in the pdb files. 

chrisant

  • Senior Community Member
  • Posts: 1410
  • Hero Points: 131
Re: Your debugger is not using the correct symbols...
« Reply #11 on: September 08, 2011, 12:43:02 am »
Should be the "/Zi" compiler flag.
Try "cl /?" for details.
Also Google or Bing should find a lot of helpful info on this issue.

lwb78750

  • Community Member
  • Posts: 53
  • Hero Points: 1
  • Senior Software Engineer, C++, Qt, C, etc...
Re: Your debugger is not using the correct symbols...
« Reply #12 on: September 08, 2011, 02:28:37 pm »
I'm now using the /Zi flag, still no success.  I have narrowed it down to the fact that just the STATIC classes and class members don't work. (This app has lots of statics for some reason).  According to the docs, the statics should work as well.  I have searched the web extensively and I have tried all the options suggested on both compiling and linking - still no luck.  I know a LOT more about Visual Studio compiler & linker options, though!  :-)

Phil Barila

  • Senior Community Member
  • Posts: 742
  • Hero Points: 61
Re: Your debugger is not using the correct symbols...
« Reply #13 on: September 08, 2011, 03:08:52 pm »
Just a recap to see if I understand the situation here.  You're using SE to build a VS .sln, and the symbols aren't being built correctly when doing so? 
Assuming the answer to the above is yes:  Can you invoke the VS build directly from a command line 
Code: [Select]
devenv MySolution.sln /Build "Debug|Any CPU" and produce the proper symbols?  If so, remove the "|Any CPU" from the command line and try again.  If you get the bogus symbols, please open a bug at the SE support site.  The VS invocation in SE is a bit broken (for example, when you build a complete solution, it doesn't pass the entire config, just "Debug" or "Release", even though it needs the PlatformName in all but the most trivial cases.), and would benefit from some love by the SE team.  You might have found the compelling case to get it done.

Lee

  • SlickEdit Team Member
  • Senior Community Member
  • *
  • Posts: 1299
  • Hero Points: 130
Re: Your debugger is not using the correct symbols...
« Reply #14 on: September 08, 2011, 05:03:11 pm »
Have you tried using the fully qualified symbol name with module name (mymodule!main)?  And are you sure the compiler/linker didn't optimize away the static declaration?  I have seen that happen even in Debug configurations.  Without a reproducible, I can't say for sure what is the problem.