| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> |
| <HTML> |
| <HEAD> |
| <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1"> |
| <META NAME="GENERATOR" CONTENT="Mozilla/4.06 [en] (X11; I; Linux 2.0.35 i686) [Netscape]"> |
| <TITLE>Source Window Help</TITLE> |
| </HEAD> |
| <BODY> |
| |
| <CENTER> |
| <H1>The Source Window</H1></CENTER> |
| |
| <BR>The Source Window is the primary interface between the user and |
| the debugger; it is automatically opened when the debugger starts. The |
| Source Window displays the status of the program, controls execution of |
| the program, and allows visualization of the program execution. |
| |
| <H3><A HREF="#menus">Menus</A></H3> |
| |
| <UL> |
| <LI><A HREF="#menus_file">File Menu</A></LI> |
| <LI><A HREF="#menus_run">Run Menu</A></LI> |
| <LI><A HREF="#menus_view">View Menu</A></LI> |
| <LI><A HREF="#menus_control">Control Menu</A></LI> |
| <LI><A HREF="#menus_prefs">Preferences Menu</A></LI> |
| </UL> |
| |
| <H3><A HREF="#toolbar">Toolbar</A></H3> |
| |
| <UL> |
| <LI><A HREF="#toolbar_exec">Execution Control Buttons</A></LI> |
| <LI><A HREF="#toolbar_window">Window Buttons</A></LI> |
| <LI><A HREF="#toolbar_frame">Frame Control</A></LI> |
| </UL> |
| |
| <H3><A HREF="#display">Source Window Display</A></H3> |
| |
| <UL> |
| <LI><A HREF="#setting_a_breakpoint">Setting a Breakpoint</A></LI> |
| <LI><A HREF="#viewing_breakpoints">Viewing Breakpoints</A></LI> |
| <LI><A HREF="#display_balloon">Variable Balloons</A></LI> |
| <LI><A HREF="#display_popup">Source Pop-up Menus</A></LI> |
| </UL> |
| |
| <H3><A HREF="#status">Source Window Status Bars</A></H3> |
| |
| <UL> |
| <LI><A HREF="#status_bar">Program Status Bar</A></LI> |
| <LI><A HREF="#status_mode">Source Display Status Bar</A></LI> |
| </UL> |
| |
| <H3><A HREF="#search">Search Entry</A></H3> |
| |
| <HR> |
| <H2><A NAME="menus"></A>Menus</H2> |
| |
| <IMG SRC="images/src_menu.gif"> |
| <H4><A NAME="menus_file"></A>File Menu</H4> |
| |
| <DL> |
| <DT>Open</DT> |
| <DD>Opens a file selection dialog to select the executable to debug</DD> |
| <DT>Close</DT> |
| <DD>Closes a previously opened executable file</DD> |
| <DT>Source</DT> |
| <DD>Reads and executes GDB commands from a text file</DD> |
| <DT>Target Settings...</DT> |
| <DD>Opens the <A HREF="target.html">Target Selection Dialog</A> to edit target |
| settings</DD> |
| <DT>Page Setup</DT> |
| <DD>(Windows only) Opens the Windows Page Setup dialog to configure printing</DD> |
| <DT>Print</DT> |
| <DD>Print the contents of the Source Window Display</DD> |
| <DT>Exit</DT> |
| <DD>Exits the debugger</DD> |
| </DL> |
| |
| <H4><A NAME="menus_run"></A>Run Menu</H4> |
| <DL> |
| <DT>Connect to target</DT> |
| <DD>Connect to the target specified in the <A HREF="target.html">Target Selection Dialog</A>. Open the dialog if there are no current settings.</DD> |
| <DT>Download</DT> |
| <DD>Initiates download of the executable onto the target via the protocol specified |
| in the <A HREF="target.html">Target Selection Dialog</A></DD> |
| <DT>Run</DT> |
| <DD>Runs or re-runs the program</DD> |
| <DT>Disconnect</DT> |
| <DD>Close a previously opened connection</DD> |
| </DL> |
| |
| <H4><A NAME="menus_view"></A>View Menu</H4> |
| <DL> |
| <DT>Stack</DT> |
| <DD>Open a <A HREF="stack.html">Stack Window</A></DD> |
| <DT>Registers</DT> |
| <DD>Open a <A HREF="register.html">Register Window</A></DD> |
| <DT>Memory</DT> |
| <DD>Open a <A HREF="memory.html">Memory Window</A></DD> |
| <DT>Watch Expressions</DT> |
| <DD>Open a <A HREF="watch.html">Watch Window</A></DD> |
| <DT>Local Variables</DT> |
| <DD>Open a <A HREF="locals.html">Locals Window</A></DD> |
| <DT>Breakpoints</DT> |
| <DD>Open a <A HREF="breakpoint.html">Breakpoint Window</A></DD> |
| <DT>Console</DT> |
| <DD>Open a <A HREF="console.html">Console Window</A></DD> |
| <DT>Function Browser</DT> |
| <DD>Open a window allowing the user to easily search for functions and |
| set breakpoints.</DD> |
| <DT>Thread List</DT> |
| <DD>Open a window that displays all current threads and allows the user |
| to change active threads</DD> |
| </DL> |
| |
| <H4><A NAME="menus_control"></A>Control Menu</H4> |
| <DL> |
| <DT><A HREF="#step_button">Step</A></DT> |
| <DD>Step program until it reaches a different source line</DD> |
| <DT><A HREF="#next_button">Next</A></DT> |
| <DD>Step program, proceeding through subroutine calls</DD> |
| <DT><A HREF="#finish_button">Finish</A></DT> |
| <DD>Execute until the current stack frame returns</DD> |
| <DT><A HREF="#continue_button">Continue</A></DT> |
| <DD>Continue program being debugged, after signal or breakpoint</DD> |
| <DT><A HREF="#stepi_button">Step Asm Inst</A></DT> |
| <DD>Step one instruction exactly</DD> |
| <DT><A HREF="#nexti_button">Next Asm Inst</A></DT> |
| <DD>Step one instruction, but proceed through subroutine calls</DD> |
| <DT>Automatic Step</DT> |
| <DD>Automatically step the program every two seconds</DD> |
| </DL> |
| |
| <H4><A NAME="menus_prefs"></A>Preferences Menu</H4> |
| <DL> |
| <DT>Global</DT> |
| <DD>Opens the <A HREF="gbl_pref.html">Global Preferences Dialog</A> and allows |
| editing of global settings</DD> |
| <DT>Source</DT> |
| <DD>Opens the <A HREF="src_pref.html">Source Preferences Dialog</A> and allows |
| editing of Source Window settings</DD> |
| </DL> |
| |
| <HR> |
| |
| <H2><A NAME="toolbar"></A>Toolbar</H2> |
| <IMG SRC="images/src_toolbar.gif"> |
| The Source Window toolbar consists of three functional sections: execution |
| control buttons, debugger window buttons, and stack frame control buttons. |
| |
| <BR> |
| <H4><A NAME="toolbar_exec"></A>Execution Control Buttons</H4> |
| These convenience buttons provide on-screen access to the most important |
| debugger execution control functions: |
| <DL> |
| <DT><A NAME="run_button"></A><IMG SRC="../images/run.gif"> or |
| <IMG SRC="../images2/run.gif"> Run </DT> |
| <DD>The Run Button will start execution of the program, including target selection |
| and downloading, if necessary. If the program is already running, the Run |
| Button will start the program from the beginning (re-run it).</DD> |
| |
| <DT><A NAME="stop_button"></A><IMG SRC="../images/stop.gif"> or |
| <IMG SRC="../images2/stop.gif"> Stop</DT> |
| <DD>The Stop Button will interrupt execution of the program (provided this |
| feature is supported by the underlying debugging protocol and hardware) |
| or cancel downloads. It is also used as an indication that the debugger |
| is busy.</DD> |
| <DT><A NAME="step_button"></A><IMG SRC="../images/step.gif"> or <IMG SRC="../images2/step.gif">Step</DT> |
| <DD>Step the program until it reaches a different source line</DD> |
| <DT><A NAME="next_button"></A><IMG SRC="../images/next.gif"> or <IMG SRC="../images2/next.gif">Next</DT> |
| <DD>Step the program, proceeding through subroutine calls</DD> |
| <DT><A NAME="finish_button"></A><IMG SRC="../images/finish.gif"> or <IMG SRC="../images2/finish.gif"> Finish</DT> |
| <DD>Execute until the current stack frame returns</DD> |
| <DT><A NAME="continue_button"></A><IMG SRC="../images/continue.gif"> or <IMG SRC="../images2/continue.gif"> Continue</DT> |
| <DD>Continue the program being debugged, after signal or breakpoint</DD> |
| <DT><A NAME="stepi_button"></A><IMG SRC="../images/stepi.gif"> or <IMG SRC="../images2/stepi.gif"> Step Asm Inst</DT> |
| <DD>Step one instruction exactly. This function is only available when the |
| Source Window is displaying assembler code.</DD> |
| <DT><A NAME="nexti_button"></A><IMG SRC="../images/nexti.gif"> or <IMG SRC="../images2/nexti.gif"> Next Asm Inst</DT> |
| <DD>Step one instruction, but proceed through subroutine calls. This function |
| is only available when the Source Window is displaying assembler code.</DD> |
| </DL> |
| |
| <H4> |
| <A NAME="toolbar_window"></A>Window Buttons</H4> |
| The Debugger Window buttons give instant access to the Debugger's auxiliary |
| windows: |
| <DL> |
| <DT><A NAME="register_button"></A><IMG SRC="../images/reg.gif"> or <IMG SRC="../images2/reg.gif"> Registers</DT> |
| <DD>Open a <A HREF="register.html">Register Window</A></DD> |
| <DT><A NAME="memory_button"></A><IMG SRC="../images/memory.gif"> or <IMG SRC="../images2/memory.gif"> Memory</DT> |
| <DD>Open a <A HREF="memory.html">Memory Window</A></DD> |
| <DT><A NAME="stack_button"></A><IMG SRC="../images/stack.gif"> or <IMG SRC="../images2/stack.gif"> Stack</DT> |
| <DD>Open a <A HREF="stack.html">Stack Window</A></DD> |
| <DT><A NAME="watch_button"></A><IMG SRC="../images/watch.gif"> or <IMG SRC="../images2/watch.gif"> Watch Expressions</DT> |
| <DD>Open a <A HREF="watch.html">Watch Window</A></DD> |
| <DT><A NAME="locals_button"></A><IMG SRC="../images/vars.gif"> or <IMG SRC="../images2/vars.gif"> Local Variables</DT> |
| <DD>Open a <A HREF="locals.html">Locals Window</A></DD> |
| <DT><A NAME="breakpoints_button"></A><IMG SRC="../images/bp.gif"> or <IMG SRC="../images2/bp.gif"> Breakpoints</DT> |
| <DD>Open a <A HREF="breakpoint.html">Breakpoint Window</A></DD> |
| <DT><A NAME="console_button"></A><IMG SRC="../images/console.gif"> or <IMG SRC="../images2/console.gif"> Console</DT> |
| <DD>Open a <A HREF="console.html">Console Window</A></DD> |
| </DL> |
| |
| <H4><A NAME="toolbar_frame"></A>Frame Control</H4> |
| The Frame Control area of the toolbar displays information about the PC |
| of the current frame, and the frame control buttons may be used to navigate |
| through the call stack. Whenever any of these buttons are used, both the |
| Source Window Display and the <A HREF="stack.html">Stack Window</A> will |
| show the selected frame. |
| <DL> |
| <DT><IMG SRC="images/frame_info.gif" > Frame Information Display</DT> |
| <DD>The left half of the frame information display shows the value of the PC |
| in the current frame. The right half shows the line number of the PC in |
| the source file, if available.</DD> |
| |
| <DT><A NAME="up_button"></A><IMG SRC="../images/up.gif"> or <IMG SRC="../images2/up.gif"> Up</DT> |
| <DD>Select and view the stack frame that called this one</DD> |
| |
| <DT><A NAME="down_button"></A><IMG SRC="../images/down.gif"> or <IMG SRC="../images2/down.gif"> Down</DT> |
| <DD>Select and view the stack frame called by this one</DD> |
| |
| <DT><A NAME="bottom_button"></A><IMG SRC="../images/bottom.gif"> or <IMG SRC="../images2/bottom.gif"> Bottom</DT> |
| <DD>Select and view the bottom-most stack frame</DD> |
| </DL> |
| |
| <HR> |
| |
| <H2><A NAME="display"></A>Source Display</H2> |
| The Source Display is used for many things: browsing source code, setting |
| and clearing breakpoints, and a few other special functions. Executable |
| lines (those for which executable code was generated by the compiler) are |
| denoted with a marker (a dash, "-") in the first column of the display. |
| <P>The debugger highlights the PC in the current frame in either green, |
| indicating that the PC is in the bottom-most frame (i.e., it is being executed) |
| or gold, indicating that the PC is contained in a frame that is not currently |
| executing (because it has called another function). A blue highlight is |
| used by the debugger to indicate a browsing position: the PC is contained |
| in a frame that is not executing or on the call stack. All highlight colors |
| are user selectable in the <A HREF="src_pref.html">Source Preferences</A>. |
| |
| <BR> |
| <H4><A NAME="setting_a_breakpoint"></A>Setting a Breakpoint</H4> |
| Moving the mouse pointer over the "hot spot" of an executable line will |
| change the mouse cursor to a large dot. Clicking the left mouse button |
| will then toggle a breakpoint at this line. If no breakpoint exists, one |
| will be installed and the dash in the left margin will change into a red |
| breakdot. If a breakpoint exists, it will be removed and the red breakdot |
| will revert back to a dash. The executable line marker shows the status |
| of each line: an empty marker (the dash) indicates that no breakpoints |
| are set at the line. A colored breakdot indicates that a breakpoint exists |
| at the line (see <A HREF="#display_popup">Source Pop-up Menus</A> for more |
| information on setting different types of breakpoints and their representations |
| in the Source Display). |
| <P>Black breakdots in the Source Window display indicate that the breakpoint |
| has been disabled. To re-enable the breakpoint, click the enable/disable |
| checkbox in the Breakpoint Window (see <A HREF="breakpoint.html#display_state"> |
| Enabling/Disabling Breakpoints</A>). |
| |
| <BR> |
| <H4><A NAME="viewing_breakpoints"></A>Viewing Breakpoints</H4> |
| You can find out more information about a breakpoint by moving the cursor |
| over a breakpoint. A balloon window will pop up with additional information. |
| To get a list of all the active breakpoints, you will need to open a |
| <A HREF="breakpoint.html">breakpoint window</A>. |
| <IMG SRC="images/src_bp_bal.gif"> |
| |
| <BR> |
| <H4><A NAME="display_balloon"></A>Variable Balloons</H4> |
| If the program to be debugged has started and is stopped, the display |
| will show the value of variables in variable |
| balloons. To activate a variable balloon, simply hold the mouse cursor |
| over the name of a variable in the Source Display for a second or two: |
| the debugger displays the name of the variable, its type, and its value |
| in a pop-up balloon. |
| <IMG SRC="images/src_bal.gif"> |
| |
| <BR> |
| <H4><A NAME="display_popup"></A>Source Pop-up Menus</H4> |
| The Source Display has two pop-up menus. One is activated by clicking the |
| right mouse button when the mouse cursor is over an executable line marker's |
| hot spot. This pop-up menu looks like this: |
| <P><IMG SRC="images/src_bpop.gif"> |
| <DL> |
| <DT>Continue to Here</DT> |
| <DD>Continue program execution until it reaches this point. All breakpoints |
| will be ignored. Be aware that if the program never executes the line you selected, |
| it will run until completion.</DD> |
| <DT>Set Breakpoint</DT> |
| <DD>Set a breakpoint at this line. This has the same effect as left clicking |
| on this line. Breakpoints are shown as red breakdots in the Source Window |
| Display.</DD> |
| <DT>Set Temporary Breakpoint</DT> |
| <DD>Set a temporary breakpoint at this line. Temporary breakpoints are shown |
| as orange breakdots in the Source Window Display. The remove themselves automatically |
| the first time they are hit.</DD> |
| <A NAME="thread_bp"></A> |
| <DT>Set Breakpoint on Thread(s)...</DT> |
| <DD>GDB allows the user to set a breakpoint on a particular thread or threads. This |
| menu item will display a dialog with a list of threads. The user can select a list |
| of threads that will have breakpoints set at the selected line number. A warning |
| will be displayed if there are no active threads.</DD> |
| <IMG SRC="images/src_thread.gif"> |
| </DL> |
| |
| The other pop-up menu is activated by clicking the right mouse button anywhere |
| else in the Source Display. It is only available when a variable or number |
| in the display lies below the mouse cursor or is selected (by clicking |
| the left mouse button and dragging the mouse to highlight the variable/number). |
| The pop-up menu looks like this: |
| <P><IMG SRC="images/src_pop.gif"> |
| <DL> |
| <DT><A NAME="add_to_watch"></A>Add <I>expr</I> to Watch</DT> |
| <DD>Adds the selected expression to the <A HREF="watch.html">Watch Window</A>, |
| opening it, if necessary.</DD> |
| <DT>Dump Memory at <I>expr</I></DT> |
| <DD>Opens a new <A HREF="memory.html">Memory Window</A> at the selected expression. |
| If the expression is a variable, then the Memory Window is opened with |
| memory addresses starting at the value of the variable.</DD> |
| <DT>Open Another SOurce Window</DT> |
| <DD>GDB allows multiple source windows to co-exist. You can, for example, have |
| one window in source mode and one in assembly mode. Or you can use one window |
| to browse the stack or other files.</DD> |
| </DL> |
| |
| <H4><A NAME="status"></A>Source Window Status Bars</H4> |
| The Source Window has two status bars which inform the user of the status |
| of the program (the "status bar") and the status of the Source Window. |
| <P>The <A NAME="status_bar"></A>Program Status Bar (or simply "Status |
| Bar") displays the status of the program. Common messages seen here include: |
| <DL> |
| <DT>No program loaded.</DT> |
| <DD>No program has been loaded into target memory.</DD> |
| <DT>Program is ready to run.</DT> |
| <DD>A program has been loaded into target memory and may be executed. Start |
| the program by hitting <A HREF="#run_button">Run</A>.</DD> |
| <DT>Program stopped at <I>line/address</I></DT> |
| <DD>The program stopped at line <I>line</I> or address <I>address</I>. Execution |
| may continue by hitting any of the <A HREF="#toolbar_exec">execution control |
| buttons</A> on the toolbar.</DD> |
| <DT>Program terminated. 'Run' will restart.</DT> |
| <DD>The program exited. Pressing <A HREF="#run_button">Run</A> will restart |
| it.</DD> |
| </DL> |
| |
| The Status Bar also displays some help information. For instance, the Status |
| Bar will show the function of a button on the toolbar or the Source Display |
| Status Bar as well as any keyboard shortcut for any button in the Source |
| Window. |
| |
| <BR> |
| <H4><A NAME="status_mode"></A>Source Display Status Bar</H4> |
| <IMG SRC="images/src_stat.gif"> |
| The Source Display Status Bar shows the current state of the Source Window: |
| the name of the file displayed in the Display, the name of the function |
| in the Display which contains the PC for the current frame (if any), and |
| the display mode. |
| <P>The <A NAME="file_selector"></A>Source File Selector is a dropdown |
| menu which contains the names of all the files that were compiled into |
| the program being debugged. |
| <P>Normally, the File Selector displays the name of the file currently |
| being viewed, but any file from the dropdown menu may be selected for browsing. |
| Simply select the file to view from the available choices (or type it directly |
| into the File Selector) and the Source Window will load that file into |
| the Display. To return to the PC of the program, simply press the |
| <A HREF="#bottom_button">Bottom |
| Frame Control Button</A>. |
| <P>The <A NAME="function_selector"></A>Source Function Selector displays |
| the name of the function containing the Source Window's PC, if one exists, |
| but it may be used to browse any function in the current file. Simply type |
| the name of the desired function into the Function Selector or select it |
| from the dropdown menu. The Source Window's PC is updated to point at this |
| function. To return to the PC of the program, simply press the |
| <A HREF="#bottom_button">Bottom |
| Frame Control Button</A>. |
| <P>The <A NAME="mode_selector"></A>Source Display Mode Selector displays |
| the viewing mode of the current file/function shown in the Source Window |
| Display. |
| <P>The function of the "step" keyboard shortcut will differ depending on |
| the mode the Source Window Display. "Stepping" in Source Mode (or in the |
| Source Pane of SRC+ASM Mode) will cause a source-level step. "Stepping" |
| in Assembly or Mixed Mode (or in the Assembly Pane of the SRC+ASM Mode) |
| will cause the debugger to step exactly one machine instruction. This also |
| applies to the shortcut for "next". |
| <P>The Display Mode Selector may be used to change the view of the current |
| source file. The available display modes are |
| <DL> |
| <DT>SOURCE</DT> |
| <DD>The contents of the Display are shown as source code. If source code is |
| not available (either because no debugging information is available or |
| the source file is not found), the Source Window will temporarily set the Display |
| Mode to "ASSEMBLY".</DD> |
| <DT>ASSEMBLY</DT> |
| <DD>A disassembly of the target's memory is shown in the Display. Even assembly |
| source files show a disassembly of target memory; to see the assembly source |
| code, use the SOURCE mode. Note that the debugger can only display assembly |
| code on a function-by-function basis. It cannot display all the instructions |
| generated from a single source file.</DD> |
| <DT>MIXED</DT> |
| <DD>The Display shows source code mixed with the assembler instructions which |
| were generated for those lines by the compiler for the current function. |
| Note that the addresses of the assembly lines is not necessarily monotonically |
| increasing. If the source file associated with the function cannot be found, |
| the Source Window will revert to ASSEMBLY mode.</DD> |
| <DT>SRC+ASM</DT> |
| <DD>The Source Window Display is divided into two panes: an assembly pane and |
| a source pane. Breakpoints may be set/cleared in either pane.</DD> |
| </DL> |
| |
| <HR> |
| |
| <H2><A NAME="search"></A>Search Entry</H2> |
| The Search Entry facilitates searching for text in the Source Window Display. |
| Simply enter the text to be found into the Search Entry and press the Enter |
| key on the keyboard to search forwards in the Source Window Display (hold |
| down the Shift key to search backwards). If a match is found, it is highlighted |
| in the Source Window and the Program Status Bar displays information about |
| where the match was found. |
| <P>The Search Entry can also jump the Source Window to a specific line. |
| Enter the line number preceded by an "at" sign (@) into the Search Entry |
| and press enter. If entered line number is greater than the total number |
| of lines in the Source Window Display, the Display will jump to the end |
| of the current file. |
| </BODY> |
| </HTML> |