📄 dbglib.html
字号:
The list shows the address, task, and pass count of each breakpoint.Temporary breakpoints inserted by <b><i><a href="./dbgLib.html#so">so</a></i>( )</b> and <b><i><a href="./dbgLib.html#cret">cret</a></i>( )</b> are also indicated.<p>To set a breakpoint with <b><i><a href="./dbgLib.html#b">b</a></i>( )</b>, include the address, which can bespecified numerically or symbolically with an optional offset.The other arguments are optional:<pre> -> b addr[,task[,count[,quiet]]]</pre>If <i>task</i> is zero or omitted, the breakpoint will apply to all breakabletasks. If <i>count</i> is zero or omitted, the breakpoint will occur everytime it is hit. If <i>count</i> is specified, the break will not occuruntil the <i>count</i> +1th time an eligible task hits the breakpoint(i.e., the breakpoint is ignored the first <i>count</i> times it is hit).<p>If <i>quiet</i> is specified, debugging information destined for the consolewill be suppressed when the breakpoint is hit. This option is includedfor use by external source code debuggers that handle the breakpointuser interface themselves.<p>Individual tasks can be unbreakable, in which case breakpoints thatotherwise would apply to a task are ignored. Tasks can be spawnedunbreakable by specifying the task option <b>VX_UNBREAKABLE</b>.Tasks can also be set unbreakable or breakable by resetting<b>VX_UNBREAKABLE</b> with the routine <b><i><a href="./taskInfo.html#taskOptionsSet">taskOptionsSet</a></i>( )</b>.<p></blockquote><h4>RETURNS</h4><blockquote><p>OK, or ERROR if <i>addr</i> is illegal or the breakpoint table is full.<p></blockquote><h4>SEE ALSO</h4><blockquote><p><b><a href="./dbgLib.html#top">dbgLib</a></b>, <b><i><a href="./dbgLib.html#bd">bd</a></i>( )</b>, <b><i><a href="./taskInfo.html#taskOptionsSet">taskOptionsSet</a></i>( )</b>, <i>VxWorks Programmer's Guide: Target Shell, </i>windsh, <i>Tornado User's Guide: Shell</i><hr><a name="e"></a><p align=right><a href="rtnIndex.html"><i>Libraries : Routines</i></a></p></blockquote><h1><i>e</i>( )</h1> <blockquote></a></blockquote><h4>NAME</h4><blockquote> <p><strong><i>e</i>( )</strong> - set or display eventpoints (WindView)</p></blockquote><h4>SYNOPSIS</h4><blockquote><p><pre>STATUS e ( INSTR * addr, /* where to set eventpoint, or 0 means display all */ event_t eventId, /* event ID */ int taskNameOrId, /* task affected; 0 means all tasks */ FUNCPTR evtRtn, /* function to be invoked; NULL means no function */ /* invoked */ int arg /* argument to be passed to <i>evtRtn</i> */ )</pre></blockquote><h4>DESCRIPTION</h4><blockquote><p>This routine sets "eventpoints"--that is, breakpoint-like instrumentationmarkers that can be inserted in code to generate and log an event for usewith WindView. Event logging must be enabled with <b><i>wvEvtLogEnable</i>( )</b> forthe eventpoint to be logged.<p><i>eventId</i> selects the evenpoint number that will be logged: it is in the user event ID range (0-25536).<p>If <i>addr</i> is NULL, then all eventpoints and breakpoints are displayed.If <i>taskNameOrId</i> is 0, then this event is logged in all tasks.The <i>evtRtn</i> routine is called when this eventpoint is hit. If <i>evtRtn</i>returns OK, then the eventpoint is logged; otherwise, it is ignored.If <i>evtRtn</i> is a NULL pointer, then the eventpoint is always logged.<p>Eventpoints are exactly like breakpoints (which are set with the <b><i><a href="./dbgLib.html#b">b</a></i>( )</b>command) except in how the system responds when the eventpoint is hit. Aneventpoint typically records an event and continues immediately (if<i>evtRtn</i> is supplied, this behavior may be different). Eventpoints cannotbe used at interrupt level.<p>To delete an eventpoint, use <b><i><a href="./dbgLib.html#bd">bd</a></i>( )</b>.<p></blockquote><h4>RETURNS</h4><blockquote><p>OK, or ERROR if <i>addr</i> is odd or nonexistent in memory, or if thebreakpoint table is full.<p></blockquote><h4>SEE ALSO</h4><blockquote><p><b><a href="./dbgLib.html#top">dbgLib</a></b>, <b><i><a href="./wvLib.html#wvEvent">wvEvent</a></i>( )</b><hr><a name="bh"></a><p align=right><a href="rtnIndex.html"><i>Libraries : Routines</i></a></p></blockquote><h1><i>bh</i>( )</h1> <blockquote></a></blockquote><h4>NAME</h4><blockquote> <p><strong><i>bh</i>( )</strong> - set a hardware breakpoint</p></blockquote><h4>SYNOPSIS</h4><blockquote><p><pre>STATUS bh ( INSTR * addr, /* where to set breakpoint, or 0 = display all */ int access, /* access type (arch dependant) */ int task, /* task for which to set breakboint, 0 = set all tasks */ int count, /* number of passes before hit */ BOOL quiet /* TRUE = don't print debugging info, FALSE = print */ /* info */ )</pre></blockquote><h4>DESCRIPTION</h4><blockquote><p>This routine is used to set a hardware breakpoint. If the architectureallows it, this function will add the breakpoint to the list of breakpointsand set the hardware breakpoint register(s). For more information, see themanual entry for <b><i><a href="./dbgLib.html#b">b</a></i>( )</b>.<p></blockquote><h4>NOTE</h4><blockquote><p>The types of hardware breakpoints vary with the architectures. Generally,a hardware breakpoint can be a data breakpoint or an instruction breakpoint.<p></blockquote><h4>RETURNS</h4><blockquote><p>OK, or ERROR if <i>addr</i> is illegal or the hardware breakpoint table isfull.<p></blockquote><h4>SEE ALSO</h4><blockquote><p><b><a href="./dbgLib.html#top">dbgLib</a></b>, <b><i><a href="./dbgLib.html#b">b</a></i>( )</b>, <i>VxWorks Programmer's Guide: Target Shell</i><hr><a name="bd"></a><p align=right><a href="rtnIndex.html"><i>Libraries : Routines</i></a></p></blockquote><h1><i>bd</i>( )</h1> <blockquote></a></blockquote><h4>NAME</h4><blockquote> <p><strong><i>bd</i>( )</strong> - delete a breakpoint</p></blockquote><h4>SYNOPSIS</h4><blockquote><p><pre>STATUS bd ( INSTR * addr, /* address of breakpoint to delete */ int task /* task for which to delete breakpoint, 0 = delete for all */ )</pre></blockquote><h4>DESCRIPTION</h4><blockquote><p>This routine deletes a specified breakpoint.<p>To execute, enter:<pre> -> bd addr [,task]</pre>If <i>task</i> is omitted or zero, the breakpoint will be removed for all tasks.If the breakpoint applies to all tasks, removing it for only a singletask will be ineffective. It must be removed for all tasks and then setfor just those tasks desired. Temporary breakpoints inserted by theroutines <b><i><a href="./dbgLib.html#so">so</a></i>( )</b> or <b><i><a href="./dbgLib.html#cret">cret</a></i>( )</b> can also be deleted.<p></blockquote><h4>RETURNS</h4><blockquote><p>OK, or ERROR if there is no breakpoint at the specified address.<p></blockquote><h4>SEE ALSO</h4><blockquote><p><b><a href="./dbgLib.html#top">dbgLib</a></b>, <b><i><a href="./dbgLib.html#b">b</a></i>( )</b>, <i>VxWorks Programmer's Guide: Target Shell, </i>windsh, <i>Tornado User's Guide: Shell</i><hr><a name="bdall"></a><p align=right><a href="rtnIndex.html"><i>Libraries : Routines</i></a></p></blockquote><h1><i>bdall</i>( )</h1> <blockquote></a></blockquote><h4>NAME</h4><blockquote> <p><strong><i>bdall</i>( )</strong> - delete all breakpoints</p></blockquote><h4>SYNOPSIS</h4><blockquote><p><pre>STATUS bdall ( int task /* task for which to delete breakpoints, 0 = delete for all */ )</pre></blockquote><h4>DESCRIPTION</h4><blockquote><p>This routine removes all breakpoints.<p>To execute, enter:<pre> -> bdall [task]</pre>If <i>task</i> is specified, all breakpoints that apply to that task areremoved. If <i>task</i> is omitted, all breakpoints for all tasks areremoved. Temporary breakpoints inserted by <b><i><a href="./dbgLib.html#so">so</a></i>( )</b> or <b><i><a href="./dbgLib.html#cret">cret</a></i>( )</b> are notdeleted; use <b><i><a href="./dbgLib.html#bd">bd</a></i>( )</b> instead.<p></blockquote><h4>RETURNS</h4><blockquote><p>OK, always.<p></blockquote><h4>SEE ALSO</h4><blockquote><p><b><a href="./dbgLib.html#top">dbgLib</a></b>, <b><i><a href="./dbgLib.html#bd">bd</a></i>( )</b>, <i>VxWorks Programmer's Guide: Target Shell, </i>windsh, <i>Tornado User's Guide: Shell</i><hr><a name="c"></a><p align=right><a href="rtnIndex.html"><i>Libraries : Routines</i></a></p></blockquote><h1><i>c</i>( )</h1> <blockquote></a></blockquote><h4>NAME</h4><blockquote> <p><strong><i>c</i>( )</strong> - continue from a breakpoint</p></blockquote><h4>SYNOPSIS</h4><blockquote><p><pre>STATUS c ( int task, /* task that should proceed from breakpoint */ INSTR * addr, /* address to continue at; 0 = next instruction */ INSTR * addr1 /* address for npc; 0 = instruction next to pc */ )</pre></blockquote><h4>DESCRIPTION</h4><blockquote><p>This routine continues the execution of a task that has stopped at abreakpoint. <p>To execute, enter:<pre> -> c [task [,addr[,addr1]]]</pre>If <i>task</i> is omitted or zero, the last task referenced is assumed.If <i>addr</i> is non-zero, the program counter is changed to <i>addr</i>;if <i>addr1</i> is non-zero, the next program counter is changed to <i>addr1</i>,and the task is continued.<p></blockquote><h4>CAVEAT</h4><blockquote><p>When a task is continued, <b><i><a href="./dbgLib.html#c">c</a></i>( )</b> does not distinguish between a suspendedtask or a task suspended by the debugger. Therefore, its use should berestricted to only those tasks being debugged.<p></blockquote><h4>NOTE</h4><blockquote><p>The next program counter, <i>addr1</i>, is currently supported only by SPARC.<p></blockquote><h4>RETURNS</h4><blockquote><p>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -