DynamoRIO / DynamoRIO/drmemory

symbol availability check not working with SymGetSymbolFileW

Open
#1,365 1 comment 0 reactions 0 assignees View on GitHub
Bug-FalsePositive Migrated Priority-High
Dominant language
C
Stars
2.7k
Forks
290
PR merge metrics
No merged PRs in 30d

Description

_From [bruen...@google.com](https://code.google.com/u/109494838902877177630/) on October 29, 2013 17:42:20_

I was running app_suite_tests.exe on my win8.1 VM, copied from a different
machine where I have a compiler installed. I didn't copy the pdb at first.
A bunch of unaddrs and uninits show up in static string routines.
After copying over the pdb, they were still there -- b/c the symcache
didn't correctly realize I had the pdb now, even though the error
callstacks clearly have the symbols.

Xref issue #973 which added symbol presence info to the symcache file.

"module C:\derek\app_suite_tests.exe still doesn't have debug info"

The problem is that SymGetSymbolFileW fails with lasterror == 2 == ERROR_FILE_NOT_FOUND

Calling the slower drsym_get_module_debug_kind() in module_has_debug_info() does
the right thing, and:
module now has debug info: app_suite_tests.exe symbol cache is stale

We need to re-evaluate the use of SymGetSymbolFileW, unless we can figure
out how to make it work properly.

_Original issue: http://code.google.com/p/drmemory/issues/detail?id=1365_

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.