Eric Pouech : winedbg: When enumerating symbols, only search for locals when name doesn't refer to a module.

Alexandre Julliard julliard at winehq.org
Wed Dec 1 15:23:51 CST 2021


Module: wine
Branch: master
Commit: 0c474b9fc2d04336ee0f3ac48efbe5a02b4a1380
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=0c474b9fc2d04336ee0f3ac48efbe5a02b4a1380

Author: Eric Pouech <eric.pouech at gmail.com>
Date:   Wed Dec  1 15:30:35 2021 +0100

winedbg: When enumerating symbols, only search for locals when name doesn't refer to a module.

Fixed listing twice the same symbol in some commands like 'break foo!bar'.

Signed-off-by: Eric Pouech <eric.pouech at gmail.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 programs/winedbg/symbol.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/programs/winedbg/symbol.c b/programs/winedbg/symbol.c
index a3b9cb38995..13a61774c4b 100644
--- a/programs/winedbg/symbol.c
+++ b/programs/winedbg/symbol.c
@@ -421,7 +421,7 @@ enum sym_get_lval symbol_get_lvalue(const char* name, const int lineno,
     SymSetExtendedOption(SYMOPT_EX_WINE_NATIVE_MODULES, opt);
 
     /* now grab local symbols */
-    if ((frm = stack_get_curr_frame()) && sgv.num < NUMDBGV)
+    if ((frm = stack_get_curr_frame()) && sgv.num < NUMDBGV && !strchr(name, '!'))
     {
         sgv.frame_offset = frm->linear_frame;
         SymEnumSymbols(dbg_curr_process->handle, 0, name, sgv_cb, (void*)&sgv);




More information about the wine-cvs mailing list