perl5db.html

来自「perl教程」· HTML 代码 · 共 1,157 行 · 第 1/5 页

HTML
1,157
字号
<?xml version="1.0" ?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<!-- saved from url=(0017)http://localhost/ -->
<script language="JavaScript" src="../displayToc.js"></script>
<script language="JavaScript" src="../tocParas.js"></script>
<script language="JavaScript" src="../tocTab.js"></script>
<link rel="stylesheet" type="text/css" href="../scineplex.css">
<title>perl5db.pl - the perl debugger</title>
<link rel="stylesheet" href="../Active.css" type="text/css" />
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<link rev="made" href="mailto:" />
</head>

<body>

<script>writelinks('__top__',1);</script>
<h1><a>perl5db.pl - the perl debugger</a></h1>
<p><a name="__index__"></a></p>

<!-- INDEX BEGIN -->

<ul>

	<li><a href="#name">NAME</a></li>
	<li><a href="#synopsis">SYNOPSIS</a></li>
	<li><a href="#description">DESCRIPTION</a></li>
	<li><a href="#general_notes">GENERAL NOTES</a></li>
	<ul>

		<li><a href="#why_not_use_more_lexicals">Why not use more lexicals?</a></li>
		<li><a href="#automated_variable_stacking_via_local__">Automated variable stacking via <a href="../lib/Pod/perlfunc.html#item_local"><code>local()</code></a></a></li>
		<li><a href="#the___trick">The <code>^</code> trick</a></li>
		<li><a href="#flags__flags__flags">FLAGS, FLAGS, FLAGS</a></li>
		<li><a href="#what_are_those_xxx_comments_for">What are those <code>XXX</code> comments for?</a></li>
	</ul>

	<li><a href="#data_structures_maintained_by_core">DATA STRUCTURES MAINTAINED BY CORE</a></li>
	<li><a href="#debugger_startup">DEBUGGER STARTUP</a></li>
	<ul>

		<li><a href="#startuponly_options">STARTUP-ONLY OPTIONS</a></li>
		<ul>

			<li><a href="#sample_rcfile">SAMPLE RCFILE</a></li>
		</ul>

	</ul>

	<li><a href="#internals_description">INTERNALS DESCRIPTION</a></li>
	<ul>

		<li><a href="#debugger_interface_variables">DEBUGGER INTERFACE VARIABLES</a></li>
		<ul>

			<li><a href="#important_internal_variables">IMPORTANT INTERNAL VARIABLES</a></li>
			<ul>

				<li><a href="#_createtty"><code>$CreateTTY</code></a></li>
				<li><a href="#_doret"><code>$doret</code></a></li>
				<li><a href="#_evalarg"><code>$evalarg</code></a></li>
				<li><a href="#_frame"><code>$frame</code></a></li>
				<li><a href="#_level"><code>$level</code></a></li>
				<li><a href="#_onetimedump"><code>$onetimeDump</code></a></li>
				<li><a href="#_onetimedumpdepth"><code>$onetimeDumpDepth</code></a></li>
				<li><a href="#_signal"><code>$signal</code></a></li>
				<li><a href="#_single"><code>$single</code></a></li>
				<li><a href="#_trace"><code>$trace</code></a></li>
				<li><a href="#_slave_editor"><code>$slave_editor</code></a></li>
				<li><a href="#_cmdfhs"><code>@cmdfhs</code></a></li>
				<li><a href="#_dbline"><code>@dbline</code></a></li>
				<li><a href="#_old_watch"><code>@old_watch</code></a></li>
				<li><a href="#_saved"><code>@saved</code></a></li>
				<li><a href="#_stack"><code>@stack</code></a></li>
				<li><a href="#_to_watch"><code>@to_watch</code></a></li>
				<li><a href="#_typeahead"><code>@typeahead</code></a></li>
				<li><a href="#_alias"><code>%alias</code></a></li>
				<li><a href="#_break_on_load"><code>%break_on_load</code></a></li>
				<li><a href="#_dbline"><code>%dbline</code></a></li>
				<li><a href="#_had_breakpoints"><code>%had_breakpoints</code></a></li>
				<li><a href="#_option"><code>%option</code></a></li>
				<li><a href="#_postponed"><code>%postponed</code></a></li>
				<li><a href="#_postponed_file"><code>%postponed_file</code></a></li>
			</ul>

		</ul>

	</ul>

	<li><a href="#debugger_initialization">DEBUGGER INITIALIZATION</a></li>
	<li><a href="#debugger_routines">DEBUGGER ROUTINES</a></li>
	<ul>

		<li><a href="#db__eval__"><a href="../lib/Pod/perlfunc.html#item_eval"><code>DB::eval()</code></a></a></li>
		<ul>

			<li><a href="#parameters_and_variables_influencing_execution_of_db__eval__">Parameters and variables influencing execution of DB::eval()</a></li>
			<li><a href="#the_problem_of_lexicals">The problem of lexicals</a></li>
		</ul>

	</ul>

	<li><a href="#debugger_initialization">DEBUGGER INITIALIZATION</a></li>
	<ul>

		<li><a href="#basic_setup">BASIC SETUP</a></li>
		<li><a href="#threads_support">THREADS SUPPORT</a></li>
	</ul>

	<li><a href="#option_processing">OPTION PROCESSING</a></li>
	<ul>

		<li><a href="#setting_up_the_debugger_greeting">SETTING UP THE DEBUGGER GREETING</a></li>
		<li><a href="#reading_the_rc_file">READING THE RC FILE</a></li>
		<li><a href="#restart_processing">RESTART PROCESSING</a></li>
		<li><a href="#setting_up_the_terminal">SETTING UP THE TERMINAL</a></li>
		<li><a href="#socket_handling">SOCKET HANDLING</a></li>
	</ul>

	<li><a href="#subroutines">SUBROUTINES</a></li>
	<ul>

		<li><a href="#db">DB</a></li>
		<li><a href="#watchfunction__"><code>watchfunction()</code></a></li>
		<li><a href="#getting_ready_to_execute_commands">GETTING READY TO EXECUTE COMMANDS</a></li>
		<li><a href="#where_are_we">WHERE ARE WE?</a></li>
		<li><a href="#the_command_loop">THE COMMAND LOOP</a></li>
		<ul>

			<ul>

				<li><a href="#the_null_command">The null command</a></li>
			</ul>

			<li><a href="#command_aliases">COMMAND ALIASES</a></li>
			<li><a href="#mainline_commands">MAIN-LINE COMMANDS</a></li>
			<ul>

				<li><a href="#q__quit"><code>q</code> - quit</a></li>
				<li><a href="#t__trace"><code>t</code> - trace</a></li>
				<li><a href="#s__list_subroutines_matching_not_matching_a_pattern"><code>S</code> - list subroutines matching/not matching a pattern</a></li>
				<li><a href="#x__list_variables_in_current_package"><a href="../lib/Pod/perlguts.html#item_x"><code>X</code></a> - list variables in current package</a></li>
				<li><a href="#v__list_variables"><code>V</code> - list variables</a></li>
				<li><a href="#x__evaluate_and_print_an_expression"><a href="../lib/Pod/perlguts.html#item_x"><code>x</code></a> - evaluate and print an expression</a></li>
				<li><a href="#m__print_methods"><a href="../lib/Pod/perlguts.html#item_m"><code>m</code></a> - print methods</a></li>
				<li><a href="#f__switch_files"><a href="../lib/Pod/perlguts.html#item_f"><code>f</code></a> - switch files</a></li>
				<li><a href="#___return_to_lastexecuted_line_"><code>.</code> - return to last-executed line.</a></li>
				<li><a href="#__back_one_window"><code>-</code> - back one window</a></li>
			</ul>

			<li><a href="#pre580_commands_vs__new_commands__a__a__b__b__h__l__l__m__o__o__p__v__w__w______________">PRE-580 COMMANDS VS. NEW COMMANDS: <code>a, A, b, B, h, l, L, M, o, O, P, v, w, W, &lt;, &lt;&lt;, {, {{</code></a></li>
			<ul>

				<li><a href="#y__list_lexicals_in_higher_scope"><code>y</code> - List lexicals in higher scope</a></li>
			</ul>

			<li><a href="#commands_not_working_after_program_ends">COMMANDS NOT WORKING AFTER PROGRAM ENDS</a></li>
			<ul>

				<li><a href="#n__single_step__but_don_t_trace_down_into_subs"><a href="../lib/Pod/perlguts.html#item_n"><code>n</code></a> - single step, but don't trace down into subs</a></li>
				<li><a href="#s__singlestep__entering_subs"><a href="../lib/Pod/perlguts.html#item_s"><code>s</code></a> - single-step, entering subs</a></li>
				<li><a href="#c__run_continuously__setting_an_optional_breakpoint"><code>c</code> - run continuously, setting an optional breakpoint</a></li>
				<li><a href="#r__return_from_a_subroutine"><a href="../lib/Pod/perlguts.html#item_r"><code>r</code></a> - return from a subroutine</a></li>
				<li><a href="#t__stack_trace"><code>T</code> - stack trace</a></li>
				<li><a href="#w__list_window_around_current_line_"><code>w</code> - List window around current line.</a></li>
				<li><a href="#w__watchexpression_processing_"><code>W</code> - watch-expression processing.</a></li>
				<li><a href="#___search_forward_for_a_string_in_the_source"><code>/</code> - search forward for a string in the source</a></li>
				<li><a href="#__search_backward_for_a_string_in_the_source"><code>?</code> - search backward for a string in the source</a></li>
				<li><a href="#_rc__recall_command"><code>$rc</code> - Recall command</a></li>
				<li><a href="#_sh_sh__system___command"><code>$sh$sh</code> - <a href="../lib/Pod/perlfunc.html#item_system"><code>system()</code></a> command</a></li>
				<li><a href="#_rc_pattern__rc__search_command_history"><code>$rc pattern $rc</code> - Search command history</a></li>
				<li><a href="#_sh__invoke_a_shell"><code>$sh</code> - Invoke a shell</a></li>
				<li><a href="#_sh_command__force_execution_of_a_command_in_a_shell"><code>$sh command</code> - Force execution of a command in a shell</a></li>
				<li><a href="#h__display_commands_in_history"><code>H</code> - display commands in history</a></li>
				<li><a href="#man__doc__perldoc__look_up_documentation"><code>man, doc, perldoc</code> - look up documentation</a></li>
				<li><a href="#p__print"><a href="../lib/Pod/perlguts.html#item_p"><code>p</code></a> - print</a></li>
				<li><a href="#___define_command_alias"><code>=</code> - define command alias</a></li>
				<li><a href="#source__read_commands_from_a_file_"><code>source</code> - read commands from a file.</a></li>
				<li><a href="#save__send_current_history_to_a_file"><code>save</code> - send current history to a file</a></li>
				<li><a href="#r__restart"><code>R</code> - restart</a></li>
				<li><a href="#rerun__rerun_the_current_session"><code>rerun</code> - rerun the current session</a></li>
				<li><a href="#_______pipe_output_through_the_pager_"><code>|, ||</code> - pipe output through the pager.</a></li>
			</ul>

			<li><a href="#end_of_command_parsing">END OF COMMAND PARSING</a></li>
			<li><a href="#postcommand_processing">POST-COMMAND PROCESSING</a></li>
			<li><a href="#command_loop_termination">COMMAND LOOP TERMINATION</a></li>
		</ul>

		<li><a href="#sub">sub</a></li>
		<ul>

			<li><a href="#caller___support"><a href="../lib/Pod/perlfunc.html#item_caller"><code>caller()</code></a> support</a></li>
		</ul>

	</ul>

	<li><a href="#extended_command_handling_and_the_command_api">EXTENDED COMMAND HANDLING AND THE COMMAND API</a></li>
	<ul>

		<li><a href="#_set"><code>%set</code></a></li>
		<li><a href="#cmd_wrapper____api_"><code>cmd_wrapper()</code> (API)</a></li>
		<ul>

			<li><a href="#cmd_a__command_"><code>cmd_a</code> (command)</a></li>
			<li><a href="#cmd_a__command_"><code>cmd_A</code> (command)</a></li>
			<li><a href="#delete_action__api_"><code>delete_action</code> (API)</a></li>
			<li><a href="#cmd_b__command_"><code>cmd_b</code> (command)</a></li>
			<li><a href="#break_on_load__api_"><code>break_on_load</code> (API)</a></li>
			<li><a href="#report_break_on_load__api_"><code>report_break_on_load</code> (API)</a></li>
			<li><a href="#cmd_b_load__command_"><code>cmd_b_load</code> (command)</a></li>
			<li><a href="#_filename_error__api_package_global_"><code>$filename_error</code> (API package global)</a></li>
			<li><a href="#breakable_line_from__to___api_">breakable_line(from, to) (API)</a></li>
			<li><a href="#breakable_line_in_filename_file__from__to___api_">breakable_line_in_filename(file, from, to) (API)</a></li>
			<li><a href="#break_on_line_lineno___condition____api_">break_on_line(lineno, [condition]) (API)</a></li>
			<li><a href="#cmd_b_line_line___condition____command_">cmd_b_line(line, [condition]) (command)</a></li>
			<li><a href="#break_on_filename_line_file__line___condition____api_">break_on_filename_line(file, line, [condition]) (API)</a></li>
			<li><a href="#break_on_filename_line_range_file__from__to___condition____api_">break_on_filename_line_range(file, from, to, [condition]) (API)</a></li>
			<li><a href="#subroutine_filename_lines_subname___condition____api_">subroutine_filename_lines(subname, [condition]) (API)</a></li>
			<li><a href="#break_subroutine_subname___api_"><code>break_subroutine(subname)</code> (API)</a></li>
			<li><a href="#cmd_b_sub_subname___condition____command_">cmd_b_sub(subname, [condition]) (command)</a></li>
			<li><a href="#cmd_b__delete_breakpoint_s___command_"><code>cmd_B</code> - delete <code>breakpoint(s)</code> (command)</a></li>
			<li><a href="#delete_breakpoint__line____api_"><code>delete_breakpoint([line])</code> (API)</a></li>
			<li><a href="#cmd_stop__command_">cmd_stop (command)</a></li>
			<li><a href="#cmd_e__threads"><code>cmd_e</code> - threads</a></li>
			<li><a href="#cmd_e__list_of_thread_ids"><code>cmd_E</code> - list of thread ids</a></li>
			<li><a href="#cmd_h__help_command__command_"><code>cmd_h</code> - help command (command)</a></li>
			<li><a href="#cmd_i__inheritance_display"><code>cmd_i</code> - inheritance display</a></li>
			<li><a href="#cmd_l__list_lines__command_"><code>cmd_l</code> - list lines (command)</a></li>
			<li><a href="#cmd_l__list_breakpoints__actions__and_watch_expressions__command_"><code>cmd_L</code> - list breakpoints, actions, and watch expressions (command)</a></li>
			<li><a href="#cmd_m__list_modules__command_"><code>cmd_M</code> - list modules (command)</a></li>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?