_SymGetSymFromAddr = (SYMGETSYMFROMADDRPROC)GetProcAddress(module, "SymGetSymFromAddr"); if (!_SymGetSymFromAddr) return PR_FALSE;
_SymFromAddr = (SYMFROMADDRPROC)GetProcAddress(module, "SymFromAddr"); if (!_SymFromAddr) return PR_FALSE;
EnsureImageHlpInitialized(){  static PRBool gInitialized = PR_FALSE;  if (! gInitialized) {    HMODULE module = ::LoadLibrary("IMAGEHLP.DLL");    if (!module) return PR_FALSE;    _SymSetOptions = (SYMSETOPTIONSPROC) ::GetProcAddress(module, "SymSetOptions");    if (!_SymSetOptions) return PR_FALSE;    _SymInitialize = (SYMINITIALIZEPROC) ::GetProcAddress(module, "SymInitialize");    if (!_SymInitialize) return PR_FALSE;    _SymCleanup = (SYMCLEANUPPROC)GetProcAddress(module, "SymCleanup");    if (!_SymCleanup) return PR_FALSE;    _StackWalk = (STACKWALKPROC)GetProcAddress(module, "StackWalk");    if (!_StackWalk) return PR_FALSE;    _SymFunctionTableAccess = (SYMFUNCTIONTABLEACCESSPROC) GetProcAddress(module, "SymFunctionTableAccess");    if (!_SymFunctionTableAccess) return PR_FALSE;    _SymGetModuleBase = (SYMGETMODULEBASEPROC)GetProcAddress(module, "SymGetModuleBase");    if (!_SymGetModuleBase) return PR_FALSE;    _SymGetSymFromAddr = (SYMGETSYMFROMADDRPROC)GetProcAddress(module, "SymGetSymFromAddr");    if (!_SymGetSymFromAddr) return PR_FALSE;    _SymLoadModule = (SYMLOADMODULE)GetProcAddress(module, "SymLoadModule");    if (!_SymLoadModule) return PR_FALSE;    _SymUnDName = (SYMUNDNAME)GetProcAddress(module, "SymUnDName");    if (!_SymUnDName) return PR_FALSE;    _SymGetModuleInfo = (SYMGETMODULEINFO)GetProcAddress(module, "SymGetModuleInfo");    if (!_SymGetModuleInfo) return PR_FALSE;    _EnumerateLoadedModules = (ENUMLOADEDMODULES)GetProcAddress(module, "EnumerateLoadedModules");    if (!_EnumerateLoadedModules) return PR_FALSE;    _SymGetLineFromAddr = (SYMGETLINEFROMADDRPROC)GetProcAddress(module, "SymGetLineFromAddr");    if (!_SymGetLineFromAddr) return PR_FALSE;    gInitialized = PR_TRUE;  }  return gInitialized;} 