Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

drsyms windows symbol store support #450

Open
derekbruening opened this issue Nov 28, 2014 · 4 comments
Open

drsyms windows symbol store support #450

derekbruening opened this issue Nov 28, 2014 · 4 comments

Comments

@derekbruening
Copy link
Contributor

From [email protected] on May 06, 2011 13:13:59

looks like SymInitialize can take an explicit path, or it will use the
_NT_SYMBOL_PATH env var. but, looks like will ignore src* paths: need to
use symsrv.dll for those to work.
symsrv.dll is NOT in the DDK.
symsrv.dll is listed in redist.txt just like dbghelp.dll.

to get dbghelp.dll symbol store support working in-process with the private
loader, need to hook priv kernel32's GetModuleFileName. note that the
symsrv dll goes and loads over 45 libraries so maybe we don't really want
it in-process for most clients: xref sideline options ( issue #446 ).

drsyms today supports _NT_SYMBOL_PATH pointing at a local directory of
cached files retrieved earlier (via windbg, e.g.)

there are also some issues with a license agreement when connecting to
Microsoft's symbol server: symsrv pops up a dialog box and then stores a
symserv.yes file to avoid it in the future.

Original issue: http://code.google.com/p/dynamorio/issues/detail?id=450

@derekbruening
Copy link
Contributor Author

From [email protected] on January 18, 2012 06:49:44

to update w/ more info:
trying to load symsrv.dll in Dr. Memory via _NT_SYMBOL_PATH w/ "srv" w/o private libs results in:
ASSERT win32/callback.c:5396 get_thread_private_dcontext()->whereami == WHERE_FCACHE

w/ private libs, looks like dbghelp calls LoadLibraryW and perhaps other routines that
aren't redirected and thus are failing. I believe everything else worked fine (this is based on old notes) which is why I never documented this in drmem docs or forcefully removed "srv"

@derekbruening
Copy link
Contributor Author

From [email protected] on January 18, 2012 06:58:23

it seems that the failure to load symsrv.dll must be causing dbghelp to bail on the entire sym path, so this is not a harmless failure

@derekbruening
Copy link
Contributor Author

From [email protected] on October 23, 2013 11:47:02

Xref issue #1298

@derekbruening
Copy link
Contributor Author

From [email protected] on February 20, 2014 08:20:44

srv* may actually work fine for a standalone, non-client, app. We should test and update the docs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant