diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo index 493f338..02189c1 100644 --- a/gdb/doc/gdb.texinfo +++ b/gdb/doc/gdb.texinfo @@ -1903,7 +1903,9 @@ argument to @value{GDBN} (@pxref{Invocation, ,Getting In and Out of If you are running your program in an execution environment that supports processes, @code{run} creates an inferior process and makes that process run your program. In some environments without processes, -@code{run} jumps to the start of your program. Other targets, +@code{run} jumps to the start of your program. On VxWorks, it +spawns a new VxWorks task which starts executing using the first +argument as the entry point (@pxref{VxWorks}). Other targets, like @samp{remote}, are always running. If you get an error message like this one: @@ -2322,6 +2324,10 @@ targets.) The command takes as argument a process ID. The usual way to find out the @var{process-id} of a Unix process is with the @code{ps} utility, or with the @samp{jobs -l} shell command. +On VxWorks, where we debug VxWorks tasks rather than processes, +the Vxworks task ID is used to identify the task that needs to +be debugged (@pxref{VxWorks}). + @code{attach} does not repeat if you press @key{RET} a second time after executing the command. @end table @@ -17946,6 +17952,7 @@ sends all debugging comands (resume task execution, read memory, read register, @dots{}) through the Target Server. @subsubsection Debugging on VxWorks 5.5 +@cindex VxWorks 5.5, debugging on Debugging a program on VxWorks 5.5 is performed by connecting to the Target Server first. To establish this connection, use the @@ -17964,10 +17971,12 @@ from these modules. VxWorks does not have a concept of processes, or even programs, like most Operating Systems do. Instead of running a program, one spawns -a @dfn{task} (a.k.a. a thread), usually using a symbol name as the entry -point for that thread. Every task created can be regarded as a kernel -thread, since it shares memory and code with the rest of the system. +a @dfn{task} (a.k.a.@: a thread), usually using a symbol name as +the entry point for that thread. Every task created can be regarded +as a kernel thread, since it shares memory and code with the rest of +the system. +@kindex run, with VxWorks To create a new task under debugger control, use the @code{run} command, passing as the first parameter the name of the symbol to use as the entry point (all other parameters are ignored): @@ -17977,6 +17986,7 @@ to use as the entry point (all other parameters are ignored): [@dots{}] @end smallexample +@kindex attach, with VxWorks Instead of creating a new task, it is also possible to attach the debugger to an already existing task, using the @code{attach} command. The equivalent of the Unix process ID is the task ID on VxWorks, and @@ -17999,15 +18009,15 @@ A list of all tasks currently running on the target can be obtained using the @code{info wtx threads} command. @table @code -@kindex info wtx threads -@item info wtx threads -Print the list of threads currently running on the target. -Each line represents a thread, and contains 2 space-separated +@kindex info wtx vxworks-tasks +@item info wtx vxworks-tasks +Print the list of VxWorks tasks currently running on the target. +Each line represents a task, and contains 2 space-separated elements. The first element is the task ID, and the second is the task name. @smallexample -(@value{GDBP}) info wtx threads +(@value{GDBP}) info wtx vxworks-tasks 0xf710190 tShell 0xf712430 tWdbTask 0xf715600 tTelnetd @@ -18015,6 +18025,13 @@ is the task name. @end smallexample @end table +@table @code +@kindex info wtx threads +@item info wtx threads +This command is an alias of @code{info wtx vxworks-tasks}, provided +to help upward-compatibility. +@end table + GDB offers several modes for debugging VxWorks tasks: @table @dfn @@ -18025,8 +18042,8 @@ In this mode, only a single tasks is being debugged. Any other tasks, including new tasks created by the task being debugged, are simply ignored (their execution is not controlled by the debugger). -@cindex VxWorks, Multitasks Mode Debugging -@item Multitasks Mode +@cindex VxWorks, Multi-tasks Mode Debugging +@item Multi-tasks Mode This is a mode specific to Ada programs where the debugger simulates the concept of debugging a process. This is useful when trying to debug an Ada program that uses the multi-tasking features of Ada. @@ -18039,9 +18056,9 @@ are automatically stopped and put under debugger control. New tasks being spawned by the Ada "program" are also automatically taken under debugger control. -This mode is specific to Ada programs because it, because it relies -on the Ada runtime in order to extract the list of tasks currently -running as part of the Ada program. +This mode is specific to Ada programs because it relies on the Ada +runtime in order to extract the list of tasks currently running +as part of the Ada program. @cindex VxWorks, System Mode Debugging @item The System Mode @@ -18056,15 +18073,16 @@ To leave System Mode, use @code{detach}. @kindex set multi-tasks-mode @item set multi-tasks-mode [on|off] If @code{on}, activate multi-tasks mode. The default is @code{off}. -This setting should be properly set before using the @code{attach} -or @code{run} command. As long as GDB controls the execution of one -or more tasks, attempting to change this setting will result in an -error. +This mode should be set before using the @code{attach} or @code{run} +command, and it is not possible to change the debugging mode while +controlling one or more tasks (attempting to do so will result in +an error). This setting is ignored when debugging in System Mode. @end table @subsubsection Debugging on VxWorks 653 +@cindex VxWorks 653, debugging on Debugging on VxWorks 653 is very similar to debugging on VxWorks 5, and the commands available for VxWorks 5 are also generally available @@ -18117,7 +18135,7 @@ requested symbols - for more information, see your Tornado 653 Manuals). @smallexample -(@value{GDBP}) maintenance info link-path +(@value{GDBP}) maintenance info link-path Partition Name [Link Path] 0x356738 coreOS [.] 0xd799f0 ssl [.] @@ -18141,7 +18159,7 @@ the debugging session. The default is @code{gdb}. @kindex show wtx tool-name @item show wtx tool-name -Display the tool name used when establishing a connection with the +Print the tool name used when establishing a connection with the WTX server. @kindex set wtx load-timeout @@ -18162,7 +18180,7 @@ control. The default is 0x10000 bytes. @kindex show wtx stack-size @item show wtx stack-size -Display the size of the stack allocated when spawning a new task from +Print the size of the stack allocated when spawning a new task from the debugger (using the @code{run} command). @kindex set wtx task-options @@ -18173,7 +18191,7 @@ Change the options argument used when spawning a new task from @kindex show wtx task-options @item show wtx task-options -Show the options argument used when spawning a new task from +Print the options argument used when spawning a new task from @value{GDBN}. @kindex set wtx task-priority @@ -18260,8 +18278,8 @@ maintainers wishing to instrument the part of the code in @item set wtx debug events @var{level} If @var{level} is nonzero, print debug traces related to WTX event handling. The events being traced are all the events that wtxEventGet -returns (Eg: breakpoint events, watchpoint events, new modules loaded, -etc@dots{}). +returns (e.g., breakpoint events, watchpoint events, new modules loaded, +@dots{}). @kindex show wtx debug events @item show wtx debug events @@ -18301,16 +18319,17 @@ Set the verbosity level of error messages from the TCL interpreter. @kindex show wtx debug tcl @item show wtx debug tcl -Show the verbosity level of error messages from the TCL interpreter. +Print the verbosity level of error messages from the TCL interpreter. @end table @subsubsection Debugging on VxWorks 6 +@cindex VxWorks 6, debugging on Debugging on VxWorks 6 follows the same principles as those for debugging VxWorks 5. The main difference is that @value{GDBN} needs -to connect to a DFW server in addition to the Target Server. The -@dfn{DFW server} is another server running on the host (see your +to connect to a @dfn{DFW server} in addition to the Target Server. +The DFW server is another server running on the host (see your VxWorks 6 Manuals for more information about this process). To start a debugging session, use the @code{target dfw} command. @@ -18384,8 +18403,8 @@ Show whether to show the responses sent by the DFW server. @item set dfw debug unknown-identifiers @item set dfw debug unknown-identifiers on Print a warning if the DFW server returns an identifier -that is not known for task types (e.g. ``RTP''), task states -(e.g. ``running''), event kinds (e.g. ``download-failed''). +that is not known for task types (e.g., ``RTP''), task states +(e.g., ``running''), event kinds (e.g., ``download-failed''). @item set dfw debug unknown-identifiers off Disable warnings about unknown task types, task states, event kinds.