Q:

How does Very Sleepy find symbol files?

Has anyone figured out how the Very Sleepy profiler finds PDB files? It seems like it doesn't use the _NT_SYMBOL_PATH env variable.. I've had success by putting PDBs in the same directory as the executable and DLLs, but I'm trying to profile a program that uses a TON of DLLs and it's getting really painful. Isn't there some way to have it point to a symbol server?

A:

The path to the original .pdb file is getting included in the DLL.  Just don't move them.
The source code for Very Sleepy is readily available.  It uses the DbgHelp API, symbolinfo.cpp source code file.  The call to SymInitialize() allows a tool to specify the the search path for symbols, 2nd argument.  It passes NULL, that's where the buck stops.

