Commit 3bea8ee0 authored by Bjorn Munch's avatar Bjorn Munch

merge 47141,59979

parents 8c05e4ca f8e13830
...@@ -191,6 +191,7 @@ my $opt_view_protocol; ...@@ -191,6 +191,7 @@ my $opt_view_protocol;
our $opt_debug; our $opt_debug;
my $debug_d= "d"; my $debug_d= "d";
my $opt_debug_common; my $opt_debug_common;
our $opt_debug_server;
our @opt_cases; # The test cases names in argv our @opt_cases; # The test cases names in argv
our $opt_embedded_server; our $opt_embedded_server;
...@@ -979,6 +980,7 @@ sub command_line_setup { ...@@ -979,6 +980,7 @@ sub command_line_setup {
# Debugging # Debugging
'debug' => \$opt_debug, 'debug' => \$opt_debug,
'debug-common' => \$opt_debug_common, 'debug-common' => \$opt_debug_common,
'debug-server' => \$opt_debug_server,
'gdb' => \$opt_gdb, 'gdb' => \$opt_gdb,
'client-gdb' => \$opt_client_gdb, 'client-gdb' => \$opt_client_gdb,
'manual-gdb' => \$opt_manual_gdb, 'manual-gdb' => \$opt_manual_gdb,
...@@ -1135,6 +1137,9 @@ sub command_line_setup { ...@@ -1135,6 +1137,9 @@ sub command_line_setup {
($auth_plugin)= find_plugin("auth_test_plugin", "plugin/auth"); ($auth_plugin)= find_plugin("auth_test_plugin", "plugin/auth");
# --debug[-common] implies we run debug server
$opt_debug_server= 1 if $opt_debug || $opt_debug_common;
if (using_extern()) if (using_extern())
{ {
# Connect to the running mysqld and find out what it supports # Connect to the running mysqld and find out what it supports
...@@ -1787,7 +1792,7 @@ sub find_mysqld { ...@@ -1787,7 +1792,7 @@ sub find_mysqld {
my @mysqld_names= ("mysqld", "mysqld-max-nt", "mysqld-max", my @mysqld_names= ("mysqld", "mysqld-max-nt", "mysqld-max",
"mysqld-nt"); "mysqld-nt");
if ( $opt_debug ){ if ( $opt_debug_server ){
# Put mysqld-debug first in the list of binaries to look for # Put mysqld-debug first in the list of binaries to look for
mtr_verbose("Adding mysqld-debug first in list of binaries to look for"); mtr_verbose("Adding mysqld-debug first in list of binaries to look for");
unshift(@mysqld_names, "mysqld-debug"); unshift(@mysqld_names, "mysqld-debug");
...@@ -1884,9 +1889,12 @@ sub executable_setup () { ...@@ -1884,9 +1889,12 @@ sub executable_setup () {
sub client_debug_arg($$) { sub client_debug_arg($$) {
my ($args, $client_name)= @_; my ($args, $client_name)= @_;
# Workaround for Bug #50627: drop any debug opt
return if $client_name =~ /^mysqlbinlog/;
if ( $opt_debug ) { if ( $opt_debug ) {
mtr_add_arg($args, mtr_add_arg($args,
"--debug=$debug_d:t:A,%s/log/%s.trace", "--loose-debug=$debug_d:t:A,%s/log/%s.trace",
$path_vardir_trace, $client_name) $path_vardir_trace, $client_name)
} }
} }
...@@ -2013,7 +2021,7 @@ sub read_plugin_defs($) ...@@ -2013,7 +2021,7 @@ sub read_plugin_defs($)
or mtr_error("Can't read plugin defintions file $defs_file"); or mtr_error("Can't read plugin defintions file $defs_file");
# Need to check if we will be running mysqld-debug # Need to check if we will be running mysqld-debug
if ($opt_debug) { if ($opt_debug_server) {
$running_debug= 1 if find_mysqld($basedir) =~ /-debug$/; $running_debug= 1 if find_mysqld($basedir) =~ /-debug$/;
} }
...@@ -2513,9 +2521,9 @@ sub check_debug_support ($) { ...@@ -2513,9 +2521,9 @@ sub check_debug_support ($) {
#mtr_report(" - binaries are not debug compiled"); #mtr_report(" - binaries are not debug compiled");
$debug_compiled_binaries= 0; $debug_compiled_binaries= 0;
if ( $opt_debug ) if ( $opt_debug_server )
{ {
mtr_error("Can't use --debug, binaries does not support it"); mtr_error("Can't use --debug[-server], binary does not support it");
} }
return; return;
} }
...@@ -5757,6 +5765,8 @@ Options for debugging the product ...@@ -5757,6 +5765,8 @@ Options for debugging the product
debug Dump trace output for all servers and client programs debug Dump trace output for all servers and client programs
debug-common Same as debug, but sets 'd' debug flags to debug-common Same as debug, but sets 'd' debug flags to
"query,info,error,enter,exit" "query,info,error,enter,exit"
debug-server Use debug version of server, but without turning on
tracing
debugger=NAME Start mysqld in the selected debugger debugger=NAME Start mysqld in the selected debugger
gdb Start the mysqld(s) in gdb gdb Start the mysqld(s) in gdb
manual-debug Let user manually start mysqld in debugger, before manual-debug Let user manually start mysqld in debugger, before
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment