• Eric Pouech's avatar
    dbghelp: Introduce symt_find_symbol_at(). · 99c78180
    Eric Pouech authored
    To be used in place of symt_find_nearest().
    symt_find_symbol_at() ensures that the address passed is within the
    boundaries of the returned symbol (while find_nearest() doesn't).
    
    This fixes erroneous backtraces in debugger like:
    $ ./wine winedbg notepad
    WineDbg starting on pid 0104
    RtlDefaultNpAcl () at Z:\home\eric\work\wine\dlls\ntdll\sec.c:1731
    0x00000170054805 ntdll+0x54805 [Z:\home\eric\work\wine\dlls\ntdll\sec.c:1731]: ret
    1731    }
    Wine-dbg>bt
    Backtrace:
    =>0 0x00000170054805 RtlDefaultNpAcl+0x2d5(pAcl=<internal error>) [Z:\home\eric\work\wine\dlls\ntdll\sec.c:1731] in ntdll (0x000001700701a4)
      1 0x0000017002d6c4 __wine_pop_frame(pAcl=<internal error>) [Z:\home\eric\work\wine\include\wine\exception.h:273] in ntdll (0x000001700701a4)
      2 0x0000017002d6c4 process_breakpoint+0x84() [Z:\home\eric\work\wine\dlls\ntdll\loader.c:3912] in ntdll (0x000001700701a4)
      3 0x000001700354c9 LdrInitializeThunk+0x509(context=<register R13 not accessible in this frame>, unknown2=<internal error>, unknown3=<internal error>, unknown4=<internal error>) [Z:\home\eric\work\wine\dlls\ntdll\loader.c:4200] in ntdll (0x000001700701a4)
    
    where RtlDefaultNpAcl() has nothing to do here (it's the symbol below RIP
    and we don't have a symbol with debug information for that address).
    Signed-off-by: 's avatarEric Pouech <eric.pouech@gmail.com>
    Signed-off-by: 's avatarAlexandre Julliard <julliard@winehq.org>
    99c78180
Name
Last commit
Last update
dlls Loading commit data...
documentation Loading commit data...
fonts Loading commit data...
include Loading commit data...
libs Loading commit data...
loader Loading commit data...
nls Loading commit data...
po Loading commit data...
programs Loading commit data...
server Loading commit data...
tools Loading commit data...
.editorconfig Loading commit data...
.mailmap Loading commit data...
ANNOUNCE Loading commit data...
AUTHORS Loading commit data...
COPYING.LIB Loading commit data...
LICENSE Loading commit data...
LICENSE.OLD Loading commit data...
MAINTAINERS Loading commit data...
README Loading commit data...
VERSION Loading commit data...
aclocal.m4 Loading commit data...
configure Loading commit data...
configure.ac Loading commit data...