|  |  | @ -182,6 +182,7 @@ my $opt_cursor_protocol; | 
			
		
	
		
			
				
					|  |  |  | my $opt_view_protocol; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | our $opt_debug; | 
			
		
	
		
			
				
					|  |  |  | our $opt_debug_server; | 
			
		
	
		
			
				
					|  |  |  | our @opt_cases;                  # The test cases names in argv | 
			
		
	
		
			
				
					|  |  |  | our $opt_embedded_server; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
	
		
			
				
					|  |  | @ -936,6 +937,7 @@ sub command_line_setup { | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |              # Debugging | 
			
		
	
		
			
				
					|  |  |  |              'debug'                    => \$opt_debug, | 
			
		
	
		
			
				
					|  |  |  |              'debug-server'             => \$opt_debug_server, | 
			
		
	
		
			
				
					|  |  |  |              'gdb'                      => \$opt_gdb, | 
			
		
	
		
			
				
					|  |  |  |              'client-gdb'               => \$opt_client_gdb, | 
			
		
	
		
			
				
					|  |  |  |              'manual-gdb'               => \$opt_manual_gdb, | 
			
		
	
	
		
			
				
					|  |  | @ -1082,6 +1084,9 @@ sub command_line_setup { | 
			
		
	
		
			
				
					|  |  |  |   my $path_share= dirname($path_language); | 
			
		
	
		
			
				
					|  |  |  |   $path_charsetsdir=   mtr_path_exists("$path_share/charsets"); | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |   # --debug implies we run debug server | 
			
		
	
		
			
				
					|  |  |  |   $opt_debug_server= 1 if $opt_debug; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |   if (using_extern()) | 
			
		
	
		
			
				
					|  |  |  |   { | 
			
		
	
		
			
				
					|  |  |  |     # Connect to the running mysqld and find out what it supports | 
			
		
	
	
		
			
				
					|  |  | @ -1712,7 +1717,7 @@ sub find_mysqld { | 
			
		
	
		
			
				
					|  |  |  |   my @mysqld_names= ("mysqld", "mysqld-max-nt", "mysqld-max", | 
			
		
	
		
			
				
					|  |  |  | 		     "mysqld-nt"); | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |   if ( $opt_debug ){ | 
			
		
	
		
			
				
					|  |  |  |   if ( $opt_debug_server ){ | 
			
		
	
		
			
				
					|  |  |  |     # 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"); | 
			
		
	
		
			
				
					|  |  |  |     unshift(@mysqld_names, "mysqld-debug"); | 
			
		
	
	
		
			
				
					|  |  | @ -1783,9 +1788,12 @@ sub executable_setup () { | 
			
		
	
		
			
				
					|  |  |  | sub client_debug_arg($$) { | 
			
		
	
		
			
				
					|  |  |  |   my ($args, $client_name)= @_; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |   # Workaround for Bug #50627: drop any debug opt | 
			
		
	
		
			
				
					|  |  |  |   return if $client_name =~ /^mysqlbinlog/; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |   if ( $opt_debug ) { | 
			
		
	
		
			
				
					|  |  |  |     mtr_add_arg($args, | 
			
		
	
		
			
				
					|  |  |  | 		"--debug=d:t:A,%s/log/%s.trace", | 
			
		
	
		
			
				
					|  |  |  | 		"--loose-debug=d:t:A,%s/log/%s.trace", | 
			
		
	
		
			
				
					|  |  |  | 		$path_vardir_trace, $client_name) | 
			
		
	
		
			
				
					|  |  |  |   } | 
			
		
	
		
			
				
					|  |  |  | } | 
			
		
	
	
		
			
				
					|  |  | @ -2399,9 +2407,9 @@ sub check_debug_support ($) { | 
			
		
	
		
			
				
					|  |  |  |     #mtr_report(" - binaries are not debug compiled"); | 
			
		
	
		
			
				
					|  |  |  |     $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; | 
			
		
	
		
			
				
					|  |  |  |   } | 
			
		
	
	
		
			
				
					|  |  | @ -5579,6 +5587,8 @@ Options for debugging the product | 
			
		
	
		
			
				
					|  |  |  |   client-gdb            Start mysqltest client in gdb | 
			
		
	
		
			
				
					|  |  |  |   ddd                   Start mysqld in ddd | 
			
		
	
		
			
				
					|  |  |  |   debug                 Dump trace output for all servers and client programs | 
			
		
	
		
			
				
					|  |  |  |   debug-server          Use debug version of server, but without turning on | 
			
		
	
		
			
				
					|  |  |  |                         tracing | 
			
		
	
		
			
				
					|  |  |  |   debugger=NAME         Start mysqld in the selected debugger | 
			
		
	
		
			
				
					|  |  |  |   gdb                   Start the mysqld(s) in gdb | 
			
		
	
		
			
				
					|  |  |  |   manual-debug          Let user manually start mysqld in debugger, before | 
			
		
	
	
		
			
				
					|  |  | 
 |