📄 dbglib.html
字号:
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><a href="./taskInfo.html#taskOptionsSet">taskOptionsSet</a>( )</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><a href="./dbgLib.html#bd">bd</a>( )</b>, <b><a href="./taskInfo.html#taskOptionsSet">taskOptionsSet</a>( )</b>, <i>VxWorks Programmer's Guide: Target Shell, </i><b><a href="../../tornado/tools/windsh.html#top" >windsh</a></b>, <i>Tornado User's Guide: Shell</i><hr><a name="e"></a><p align=right><a href="rtnIndex.htm"><i>OS Libraries : Routines</i></a></p></blockquote><h1>e( )</h1> <blockquote></a></blockquote><h4>NAME</h4><blockquote> <p><strong>e( )</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 eventpoints */ event_t eventId, /* event ID */ int taskNameOrId, /* task affected; 0 means all tasks */ FUNCPTR evtRtn, /* function to be invoked; NULL means no */ /* function is 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>wvEvtLogEnable( )</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><a href="./dbgLib.html#b">b</a>( )</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><a href="./dbgLib.html#bd">bd</a>( )</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><a href="./wvLib.html#wvEvent">wvEvent</a>( )</b><hr><a name="bh"></a><p align=right><a href="rtnIndex.htm"><i>OS Libraries : Routines</i></a></p></blockquote><h1>bh( )</h1> <blockquote></a></blockquote><h4>NAME</h4><blockquote> <p><strong>bh( )</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 breakpoints */ 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 debugging 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><a href="./dbgLib.html#b">b</a>( )</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><a href="./dbgLib.html#b">b</a>( )</b>, <i>VxWorks Programmer's Guide: Target Shell</i><hr><a name="bd"></a><p align=right><a href="rtnIndex.htm"><i>OS Libraries : Routines</i></a></p></blockquote><h1>bd( )</h1> <blockquote></a></blockquote><h4>NAME</h4><blockquote> <p><strong>bd( )</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 tasks */ )</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><a href="./dbgLib.html#so">so</a>( )</b> or <b><a href="./dbgLib.html#cret">cret</a>( )</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><a href="./dbgLib.html#b">b</a>( )</b>, <i>VxWorks Programmer's Guide: Target Shell, </i><b><a href="../../tornado/tools/windsh.html#top" >windsh</a></b>, <i>Tornado User's Guide: Shell</i><hr><a name="bdall"></a><p align=right><a href="rtnIndex.htm"><i>OS Libraries : Routines</i></a></p></blockquote><h1>bdall( )</h1> <blockquote></a></blockquote><h4>NAME</h4><blockquote> <p><strong>bdall( )</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 tasks */ )</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><a href="./dbgLib.html#so">so</a>( )</b> or <b><a href="./dbgLib.html#cret">cret</a>( )</b> are notdeleted; use <b><a href="./dbgLib.html#bd">bd</a>( )</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><a href="./dbgLib.html#bd">bd</a>( )</b>, <i>VxWorks Programmer's Guide: Target Shell, </i><b><a href="../../tornado/tools/windsh.html#top" >windsh</a></b>, <i>Tornado User's Guide: Shell</i><hr><a name="c"></a><p align=right><a href="rtnIndex.htm"><i>OS Libraries : Routines</i></a></p></blockquote><h1>c( )</h1> <blockquote></a></blockquote><h4>NAME</h4><blockquote> <p><strong>c( )</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><a href="./dbgLib.html#c">c</a>( )</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>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -