0

Trying to debug minidump in windbg/VS. Cannot get symbols for msvcr90 of version 9.0.30729.8387. Was trying to do .symfix. If I set sympath for my application symbols, I can get part of call stack which of my code, but not of msvcr. If I use .symfix, partially I can get several calls from c runtime, but, obviously, not from my code.

!sym noisy without .symfix:

SYMSRV:  \\eserver\symstore\ms\msvcr90.dll\51EA1BBDa3000\msvcr90.dll not found
SYMSRV:  \\eserver\symstore\ms\msvcr90.dll\51EA1BBDa3000\msvcr90.dll not found
SYMSRV:  \\eserver\symstore\ms\msvcr90.dll\51EA1BBDa3000\msvcr90.dll not found
SYMSRV:  http://msdl.microsoft.com/download/symbols/msvcr90.dll/51EA1BBDa3000/msvcr90.dll not found
DBGHELP: C:\Program Files\Debugging Tools for Windows (x64)\msvcr90.dll - file not found
SYMSRV:  \\eserver\symstore\ms\msvcr90.dll\51EA1BBDa3000\msvcr90.dll not found
SYMSRV:  \\eserver\symstore\ms\msvcr90.dll\51EA1BBDa3000\msvcr90.dll not found
SYMSRV:  \\eserver\symstore\ms\msvcr90.dll\51EA1BBDa3000\msvcr90.dll not found
SYMSRV:  http://msdl.microsoft.com/download/symbols/msvcr90.dll/51EA1BBDa3000/msvcr90.dll not found
DBGENG:  C:\Windows\WinSxS\amd64_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.8387_none_08e793bfa83a89b5\msvcr90.dll - Couldn't map image from disk.
Unable to load image C:\Windows\WinSxS\amd64_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.8387_none_08e793bfa83a89b5\msvcr90.dll, Win32 error 0n2
DBGENG:  msvcr90.dll - Partial symbol image load missing image info
DBGHELP: Module is not fully loaded into memory.
DBGHELP: Searching for symbols using debugger-provided data.
*** WARNING: Unable to verify timestamp for msvcr90.dll

The last thing I can see with this is call from msvcr90!_freefls. In all ways I can get only part of call stack and I need full. Is there a way to obtain right symbols? Similiar problem with symbols for 9.0.30729.6871.

Client OS: Windows Server 2012 (build 9200) 64-bit, Windows 7 (build 7600) 64-bit, Windows Vista (build 6000) 64-bit, Windows Server 2008 R2 (build 7600) 64-bit.

cassandrad
  • 3,412
  • 26
  • 50

2 Answers2

0

You can have multiple symbol paths so the debugger can get symbols from multiple places.

.Symfix

Is a good first command to run. Then use

.sympathy+ c:\<My_symbols>

The other problem above is

Couldn't map image from disk.

that comes from

DBGENG:  C:\Windows\WinSxS\amd64_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.8387_none_08e793bfa83a89b5\msvcr90.dll - Couldn't map image from disk.
Unable to load image C:\Windows\WinSxS\amd64_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.8387_none_08e793bfa83a89b5\msvcr90.dll, Win32 error 0n2
DBGENG:  msvcr90.dll - Partial symbol image load missing image info
DBGHELP: Module is not fully loaded into memory.

I would make another copy of that file and point your symbol path to that to see if the debugger can load it from there.

AndreVa
  • 131
  • 2
  • At beginning I have had both MS symbol server and my local folder in the symbols path. And it doesn't work properly. That's why I had to use `.symfix`. I don't have library of version `9.0.30729.8387`. If I had, I wouldn't ask my question. I don't know why windbg mentioned this file. – cassandrad Jul 23 '14 at 20:24
  • It should definitely work. Can you do `.symfix` then add your local symbol path, then `!sym noisy` and share the full output of `.reload; k` – AndreVa Jul 23 '14 at 23:23
  • Nothing. Here it is: https://docs.google.com/document/d/1vHEEbX4n3aO5dwXjLtgaGMiEiij1lXdMfq8wPYwxFTE/edit?usp=sharing. – cassandrad Jul 24 '14 at 07:26
0

Solved with reproducing problem on client OS with attached debugger.

cassandrad
  • 3,412
  • 26
  • 50