Search code examples
debuggingsymbolsollydbgdbghelp

How to enable Microsoft Symbol Server in OlyDbg?


OlyDbg version 2 was recently released. It now supports using the Microsoft Symbol Server for debugging:

It supports Microsoft compilers via dbghelp.dll. New is support for symbol server, stack walking using dbghelp and names of procedure parameters.

How do i make OlyDbg use Microsoft Symbol Server?

What have you tried?

enter image description here

Long answer:

  • i've pointed OlyDbg to the folder that will contain symbols after DbgHelp.dll downloads them
  • i've told OlyDbg that it's okay to access the Microsoft Symbol Server
  • i've told OlyDbg that it's okay to use DbgHelp.dll
  • i've tried updating the version of DbgHelp.dll that OlyDbg 2.0 ships with (2008) to the version that ships with the Windows 8 SDK
  • i've set a system environment variable:

    _NT_SYMBOL_PATH=SRV*d:\Symbols*http://msdl.microsoft.com/download/symbols
    
  • i've added SRV*d:\Symbols*http://msdl.microsoft.com/download/symbols as a "directory" that OlyDbg should search, ala the YouTube video

    enter image description here

What makes you think it's not working?

  • a) The symbol directory is empty
  • b) There is no internet traffic to msdl.microsoft.com
  • c) No symbols appear in OlyDbg 2.0

    enter image description here

See also


Solution

  • When starting ollydbg with the options you configured, you should have gotten a message in the "Log data" child window saying: Missing SYMSRV.DLL, Microsoft Symbol Server is deactivated.

    The file that downloads the symbols from microsoft servers is called symsrv.dll. I don't think microsoft provides a single download for only that file. However, it is included in various microsoft developer packs:

    • microsoft windows sdk
    • microsoft windows driver kit
    • microsoft debug-tools (now in windows driver kit?)

    Just download and install any of these and search the folder for symsrv.dll. Be careful not to get the x64 variant as it has the same name. Copy this file to the ollydbg directory and everything should work.