gdb/stack.c | 6 ++++++ 1 files changed, 6 insertions(+), 0 deletions(-) diff --git a/gdb/stack.c b/gdb/stack.c index c51832e..317570d 100644 --- a/gdb/stack.c +++ b/gdb/stack.c @@ -1825,6 +1825,10 @@ iterate_over_block_locals (struct block *b, { struct dict_iterator iter; struct symbol *sym; + struct frame_info *frame; + struct symtab_and_line sal; + frame = get_selected_frame (NULL) ; + find_frame_sal (frame, &sal); ALL_BLOCK_SYMBOLS (b, iter, sym) { @@ -1836,6 +1840,8 @@ iterate_over_block_locals (struct block *b, case LOC_COMPUTED: if (SYMBOL_IS_ARGUMENT (sym)) break; + if(sym->line>= sal.line) + break; (*cb) (SYMBOL_PRINT_NAME (sym), sym, cb_data); break;