2011-07-11 Phil Muldoon <pmuldoon@redhat.com>
PR python/12438 * python/python.c: Set gdbpy_should_print_stack default to off. (set_python): Deprecate maint set python print-stack to class_deprecate. (_initialize_python): Deprecate maint set/show python print-stack. Add new prefix command, python. Add new setting, print-backtrace. * NEWS: Document set python print-stack. Document default change. 2011-07-11 Phil Muldoon <pmuldoon@redhat.com> PR python/12438 * gdb.texinfo (Python Commands): Add deprecate note to maint set/show python print-stack. Document set/show python print-backtrace. 2011-07-11 Phil Muldoon <pmuldoon@redhat.com> PR python/12438 * gdb.python/python.exp: Add maint set/show python print-stack deprecated tests. Add set/show python print-backtrace tests.
This commit is contained in:
parent
754eadd19f
commit
713389e024
9 changed files with 122 additions and 17 deletions
|
@ -1,3 +1,13 @@
|
|||
2011-07-11 Phil Muldoon <pmuldoon@redhat.com>
|
||||
|
||||
PR python/12438
|
||||
* python/python.c: Set gdbpy_should_print_stack default to off.
|
||||
(set_python): Deprecate maint set python print-stack to
|
||||
class_deprecate.
|
||||
(_initialize_python): Deprecate maint set/show python print-stack.
|
||||
Add new prefix command, python. Add new setting, print-backtrace.
|
||||
* NEWS: Document set python print-stack. Document default change.
|
||||
|
||||
2011-07-11 Phil Muldoon <pmuldoon@redhat.com>
|
||||
|
||||
* python/py-inferior.c (infpy_dealloc): New function.
|
||||
|
|
5
gdb/NEWS
5
gdb/NEWS
|
@ -3,6 +3,11 @@
|
|||
|
||||
*** Changes since GDB 7.3
|
||||
|
||||
* The "maint set python print-stack on|off" command has been
|
||||
deprecated, and a new command: "set python print-stack on|off" has
|
||||
replaced it. Additionally, the default for "print-stack" is now
|
||||
"off".
|
||||
|
||||
* libthread-db-search-path now supports two special values: $sdir and $pdir.
|
||||
$sdir specifies the default system locations of shared libraries.
|
||||
$pdir specifies the directory where the libpthread used by the application
|
||||
|
|
|
@ -1,3 +1,10 @@
|
|||
2011-07-11 Phil Muldoon <pmuldoon@redhat.com>
|
||||
|
||||
PR python/12438
|
||||
* gdb.texinfo (Python Commands): Add deprecate note to maint
|
||||
set/show python print-stack. Document set/show python
|
||||
print-backtrace.
|
||||
|
||||
2011-07-05 Thiago Jung Bauermann <bauerman.ibm.com>
|
||||
|
||||
* gdb.texinfo: Fix typos.
|
||||
|
|
|
@ -20801,10 +20801,15 @@ End with a line saying just "end".
|
|||
|
||||
@kindex maint set python print-stack
|
||||
@item maint set python print-stack
|
||||
By default, @value{GDBN} will print a stack trace when an error occurs
|
||||
in a Python script. This can be controlled using @code{maint set
|
||||
python print-stack}: if @code{on}, the default, then Python stack
|
||||
printing is enabled; if @code{off}, then Python stack printing is
|
||||
This command is now deprecated. Instead use @code{set python
|
||||
print-stack}
|
||||
|
||||
@kindex set python print-stack
|
||||
@item set python print-stack
|
||||
By default, @value{GDBN} will not print a stack trace when an error
|
||||
occurs in a Python script. This can be controlled using @code{set
|
||||
python print-stack}: if @code{on}, then Python stack printing is
|
||||
enabled; if @code{off}, the default, then Python stack printing is
|
||||
disabled.
|
||||
@end table
|
||||
|
||||
|
|
|
@ -36,7 +36,7 @@
|
|||
|
||||
/* True if we should print the stack when catching a Python error,
|
||||
false otherwise. */
|
||||
static int gdbpy_should_print_stack = 1;
|
||||
static int gdbpy_should_print_stack = 0;
|
||||
|
||||
#ifdef HAVE_PYTHON
|
||||
|
||||
|
@ -936,23 +936,46 @@ gdbpy_breakpoint_has_py_cond (struct breakpoint_object *bp_obj)
|
|||
|
||||
/* Lists for 'maint set python' commands. */
|
||||
|
||||
struct cmd_list_element *set_python_list;
|
||||
struct cmd_list_element *show_python_list;
|
||||
static struct cmd_list_element *maint_set_python_list;
|
||||
static struct cmd_list_element *maint_show_python_list;
|
||||
|
||||
/* Lists for 'set python' commands. */
|
||||
|
||||
static struct cmd_list_element *user_set_python_list;
|
||||
static struct cmd_list_element *user_show_python_list;
|
||||
|
||||
/* Function for use by 'maint set python' prefix command. */
|
||||
|
||||
static void
|
||||
set_python (char *args, int from_tty)
|
||||
maint_set_python (char *args, int from_tty)
|
||||
{
|
||||
help_list (set_python_list, "maintenance set python ", -1, gdb_stdout);
|
||||
help_list (maint_set_python_list, "maintenance set python ",
|
||||
class_deprecated, gdb_stdout);
|
||||
}
|
||||
|
||||
/* Function for use by 'maint show python' prefix command. */
|
||||
|
||||
static void
|
||||
show_python (char *args, int from_tty)
|
||||
maint_show_python (char *args, int from_tty)
|
||||
{
|
||||
cmd_show_list (show_python_list, from_tty, "");
|
||||
cmd_show_list (maint_show_python_list, from_tty, "");
|
||||
}
|
||||
|
||||
/* Function for use by 'set python' prefix command. */
|
||||
|
||||
static void
|
||||
user_set_python (char *args, int from_tty)
|
||||
{
|
||||
help_list (user_set_python_list, "set python ", all_commands,
|
||||
gdb_stdout);
|
||||
}
|
||||
|
||||
/* Function for use by 'show python' prefix command. */
|
||||
|
||||
static void
|
||||
user_show_python (char *args, int from_tty)
|
||||
{
|
||||
cmd_show_list (user_show_python_list, from_tty, "");
|
||||
}
|
||||
|
||||
/* Initialize the Python code. */
|
||||
|
@ -963,6 +986,9 @@ extern initialize_file_ftype _initialize_python;
|
|||
void
|
||||
_initialize_python (void)
|
||||
{
|
||||
char *cmd_name;
|
||||
struct cmd_list_element *cmd;
|
||||
|
||||
add_com ("python", class_obscure, python_command,
|
||||
#ifdef HAVE_PYTHON
|
||||
_("\
|
||||
|
@ -984,13 +1010,13 @@ This command is only a placeholder.")
|
|||
#endif /* HAVE_PYTHON */
|
||||
);
|
||||
|
||||
add_prefix_cmd ("python", no_class, show_python,
|
||||
add_prefix_cmd ("python", no_class, maint_show_python,
|
||||
_("Prefix command for python maintenance settings."),
|
||||
&show_python_list, "maintenance show python ", 0,
|
||||
&maint_show_python_list, "maintenance show python ", 0,
|
||||
&maintenance_show_cmdlist);
|
||||
add_prefix_cmd ("python", no_class, set_python,
|
||||
add_prefix_cmd ("python", no_class, maint_set_python,
|
||||
_("Prefix command for python maintenance settings."),
|
||||
&set_python_list, "maintenance set python ", 0,
|
||||
&maint_set_python_list, "maintenance set python ", 0,
|
||||
&maintenance_set_cmdlist);
|
||||
|
||||
add_setshow_boolean_cmd ("print-stack", class_maintenance,
|
||||
|
@ -999,8 +1025,37 @@ Enable or disable printing of Python stack dump on error."), _("\
|
|||
Show whether Python stack will be printed on error."), _("\
|
||||
Enables or disables printing of Python stack traces."),
|
||||
NULL, NULL,
|
||||
&set_python_list,
|
||||
&show_python_list);
|
||||
&maint_set_python_list,
|
||||
&maint_show_python_list);
|
||||
|
||||
/* Deprecate maint set/show python print-stack in favour of
|
||||
non-maintenance alternatives. */
|
||||
cmd_name = "print-stack";
|
||||
cmd = lookup_cmd (&cmd_name, maint_set_python_list, "", -1, 0);
|
||||
deprecate_cmd (cmd, "set python print-stack");
|
||||
cmd_name = "print-stack"; /* Reset name. */
|
||||
cmd = lookup_cmd (&cmd_name, maint_show_python_list, "", -1, 0);
|
||||
deprecate_cmd (cmd, "show python print-stack");
|
||||
|
||||
/* Add set/show python print-stack. */
|
||||
add_prefix_cmd ("python", no_class, user_show_python,
|
||||
_("Prefix command for python preference settings."),
|
||||
&user_show_python_list, "show python ", 0,
|
||||
&showlist);
|
||||
|
||||
add_prefix_cmd ("python", no_class, user_set_python,
|
||||
_("Prefix command for python preference settings."),
|
||||
&user_set_python_list, "set python ", 0,
|
||||
&setlist);
|
||||
|
||||
add_setshow_boolean_cmd ("print-stack", no_class,
|
||||
&gdbpy_should_print_stack, _("\
|
||||
Enable or disable printing of Python stack dump on error."), _("\
|
||||
Show whether Python stack will be printed on error."), _("\
|
||||
Enables or disables printing of Python stack traces."),
|
||||
NULL, NULL,
|
||||
&user_set_python_list,
|
||||
&user_show_python_list);
|
||||
|
||||
#ifdef HAVE_PYTHON
|
||||
#ifdef WITH_PYTHON_PATH
|
||||
|
|
|
@ -1,3 +1,9 @@
|
|||
2011-07-11 Phil Muldoon <pmuldoon@redhat.com>
|
||||
|
||||
PR python/12438
|
||||
* gdb.python/python.exp: Add maint set/show python print-stack
|
||||
deprecated tests. Add set/show python print-backtrace tests.
|
||||
|
||||
2011-07-07 Jan Kratochvil <jan.kratochvil@redhat.com>
|
||||
|
||||
* gdb.java/jprint.exp (print a java.lang.String): xfail without system
|
||||
|
|
|
@ -93,6 +93,7 @@ gdb_py_test_multiple "Test Normal Error" \
|
|||
"NormalError ()" "" \
|
||||
"end" ""
|
||||
|
||||
gdb_test_no_output "set python print-stack on"
|
||||
gdb_test "print \$normalerror()" "Traceback.*File.*line 5.*in invoke.*RuntimeError.*This is a Normal Error.*" \
|
||||
"Test a Runtime error. There should be a stack trace."
|
||||
|
||||
|
|
|
@ -97,6 +97,7 @@ proc run_lang_tests {lang} {
|
|||
gdb_test_no_output "python pp_ls_encoding = 'UTF-8'"
|
||||
gdb_test "print estring2" "\"embedded \", <incomplete sequence \\\\302>"
|
||||
|
||||
gdb_test_no_output "set python print-stack on"
|
||||
gdb_test "print hint_error" "Exception: hint failed\r\nhint_error_val"
|
||||
|
||||
gdb_test "print c" " = container \"container\" with 2 elements = {$nl *.0. = 23,$nl *.1. = 72$nl}"
|
||||
|
|
|
@ -178,3 +178,18 @@ gdb_test "python gdb.write(\"Foo\\n\")" "Foo" "Test default write"
|
|||
gdb_test "python gdb.write(\"Error stream\\n\", stream=gdb.STDERR)" "Error stream" "Test stderr write"
|
||||
gdb_test "python gdb.write(\"Normal stream\\n\", stream=gdb.STDOUT)" "Normal stream" "Test stdout write"
|
||||
gdb_test "python gdb.write(\"Log stream\\n\", stream=gdb.STDLOG)" "Log stream" "Test stdlog write"
|
||||
|
||||
# Deprecate maint set/show python print-stack
|
||||
gdb_test "maint show python print-stack" \
|
||||
"Warning: command 'maintenance show python print-stack' is deprecated.*Use 'show python print-stack'.*" \
|
||||
"Test deprecation maint show warning."
|
||||
gdb_test "maint set python print-stack off" \
|
||||
"Warning: command 'maintenance set python print-stack' is deprecated.*Use 'set python print-stack'.*" \
|
||||
"Test deprecation maint set warning."
|
||||
gdb_test "show python print-stack" \
|
||||
"Whether Python stack will be printed on error is off.*" \
|
||||
"Test print-backtrace show setting. Default off."
|
||||
gdb_py_test_silent_cmd "set python print-stack on" \
|
||||
"Test print-backtrace set setting" 1
|
||||
gdb_test "show python print-stack" \
|
||||
"Whether Python stack will be printed on error is on.*" \
|
||||
|
|
Loading…
Reference in a new issue