Use common_val_print_checked in print_variable_and_value
GDB was crashing in "bt full" for a large Ada program. I tracked this down to a combination of bugs. The first bug, fixed here, is that print_variable_and_value calls common_val_print. Normally only the value-printing implementation should call this; from the top level, common_val_print_checked is preferred, because it correctly handles values that are wholly optimized out. I wasn't able to write a test case for this. gdb/ChangeLog 2021-04-15 Tom Tromey <tromey@adacore.com> * printcmd.c (print_variable_and_value): Use common_val_print_checked.
This commit is contained in:
parent
9e5e03df52
commit
644a2e75ac
2 changed files with 6 additions and 1 deletions
|
@ -2387,7 +2387,7 @@ print_variable_and_value (const char *name, struct symbol *var,
|
|||
val = read_var_value (var, NULL, frame);
|
||||
get_user_print_options (&opts);
|
||||
opts.deref_ref = 1;
|
||||
common_val_print (val, stream, indent, &opts, current_language);
|
||||
common_val_print_checked (val, stream, indent, &opts, current_language);
|
||||
|
||||
/* common_val_print invalidates FRAME when a pretty printer calls inferior
|
||||
function. */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue