📄 windsh.html
字号:
}</pre></blockQuote><h4>C++ Support</h4><blockQuote>The <b><a href="./windsh.html#top">windsh</a></b> shell integrates a C++ demangler. If you type an overloadedfunction name, or if you type a method name with implementations indifferent classes, you will get a menu of choices. In the same way, doinga <b><i><a href="./windsh.html#lkup">lkup</a></i>( )</b> on a symbol displays the various classes in which this symbol nameis defined. Examples:<p>Consider the symbol "talk" as implemented by a hierarchy of classes:<pre> -> lkup "talk" Animal::_talk(void) 0x00376054 text (cptest.o) Bear::_talk(void) 0x00376080 text (cptest.o) Bird::_talk(void) 0x003760a8 text (cptest.o) value = 0 = 0x0</pre>Consider the symbol "foo" as an overloaded function with two signatures:<pre> -> lkup "foo" _foo(int) 0x00375fd8 text (cptest.o) __GLOBAL_$I$foo(int) 0x003760f8 text (cptest.o) _foo(char *) 0x00375ffc text (cptest.o) value = 0 = 0x0</pre>Try to call "talk" and you'll be asked which one to invoke:<pre> -> talk 0: Animal::talk(void) 1: Bear::talk(void) 2: Bird::talk(void) Choose the number of the symbol to use: 1 growl! value = 0 = 0x0</pre>It is possible to select a specific demangler style by means of the Tcl variable<b>shDemangleStyle</b>. Three styles are currently available: <b>gnu</b> (the default),<b>arm</b>, and <b>none</b> (no demangling). For instance:<pre> -> ?set shDemangleStyle none none</pre>Demangling can be reached through the Tcl routine: <pre> demangle <style> <symbol> <mode></pre>The <i>symbol</i> is demangled using the given <i>style</i> and according to the given<i>mode</i>, if possible. If the <i>symbol</i> is not understood by the demangler,<i>symbol</i> is returned unmodified. <i>mode</i> is <b>0</b> for no demangling, <b>1</b> forshort demangling, and <b>2</b> for full demangling.<p>The shell always understands the <b>gnu</b> and <b>arm</b> styles. Other styles can bedynamically loaded to the shell with the <b>-cplus</b> option.<p><pre>-> ?demangle gnu getRegString__FPCcPcT1 2 getRegString(char const *, char *, char *) -> ?demangle gnu getRegString__FPCcPcT1 1 getRegString -> </pre></blockQuote><h4>WindSh Environment variables</h4><blockQuote>WindSh integrates an environment variables mechanism to configure theshell's behavior. The <b><i>shConfig</i>( )</b> command allows you to display and set thecontrols that change the shell's behavior. This command affects onlyinstanciation of the shell where the command is applied. At startupWindSh begins by looking for a file called <b>.wind/windsh.tcl</b> under thehome directory. If the file exists, the shell reads and executes itscontents as Tcl expressions before beginning to interact. This filecan be used to initialize WindSh environment variables.<p>The following example shell initialization file turns off WindSh IO redirection and sets the Load path:<p><pre> # Turn Off WindSh IO redirection shConfig SH_GET_TASK_IO off # Set Load path shConfig LD_PATH "C:/ProjectX/lib/objR4650gnutest/;C:/ProjectY/lib/objR4650gnuvx/"</pre><dl><dt><b>DSM_HEX_MOD</b> [on|off] <dd>This configuration parameter allows you to set the disassembling "symbolic + offset" mode to "on" or "off". While set to "off", the "symbolic +offset" address representation is turned on and adresses inside thedisassembled instructions are given in terms of a "symbol name + offset".If turned to "on", these adresses are given their hexadecimal value.<p><dt><b>SH_GET_TASK_IO</b> [on|off] <dd>Set the I/O redirection mode for the called function. If <b>SH_GET_TASK_IO</b> is set to "on" then input and output of called functions is redirected to WindSh.<p><dt><b>LD_CALL_XTORS</b> [target|on|off] <dd>Set the C++ strategy related to constructors and destructors. If <b>LD_CALL_XTORS</b> is set to "target" then WindSh uses the strategy set on the target using <b><i><a href="./windsh.html#cplusXtorSet">cplusXtorSet</a></i>( )</b>. If <b>LD_CALL_XTORS</b> is set to "on", the C++ strategy is set to automatic (only for the current instanciation of WindSh); otherwise the C++ strategy is set to manual.<p><dt><b>LD_SEND_MODULES</b> [on|off] <dd>Set the load mode. If <b>LD_SEND_MODULES</b> is set to "on" then the module is transfered to the target server, otherwise the target server directly accesses the module.<p><dt><b>LD_COMMON_MATCH_ALL</b> [on|off] <dd>Set the loader behavior for common symbols. If <b>LD_COMMON_MATCH_ALL</b> is set to "on", then the loader trieso match common symbols against existing symbols. If a symbol with the same name is already defined, the loader takes its address. Otherwise, the loader creates a new entry. If <b>LD_COMMON_MATCH_ALL</b> is set to "off", then the loader never tries to search for an existing symbol. It creates an entry for each common symbol.<p><dt><b>LD_PATH</b> [path] <dd>Set the search path for modules, the separator is <b>;</b>. WindSh first checks whetherthe file exists in current directory. If it exists it loads it. Otherwise, each directory in the path is searched for the given module. </dl><p><pre> -> ?shConfig SH_GET_TASK_IO = on LD_CALL_XTORS = target LD_SEND_MODULES = on LD_COMMON_MATCH_ALL = on LD_PATH = C:/ProjectX/lib/objR4650gnutest/;C:/ProjectY/lib/objR4650gnuvx/ -> ?shConfig LD_CALL_XTORS on -> ?shConfig LD_CALL_XTORS LD_CALL_XTORS = on -></pre></blockquote><h4>OPTIONS</h4><blockquote><p><dl><dt><b>-c <i>C++_library_name</i> | -cplus <i>C++_library_name</i></b><dd>Select a C++ support other than the built-in if the shell is built withdynamic library support.<p><dt><b>-e <i>expression</i> | -execute <i>expression</i></b><dd>Execute a Tcl expression after initialization. To execute a Tclstartup script, specify an expression using the Tcl <b>source</b>command.<p><dt><b>-h | -help</b><dd>Print a help message about <b><a href="./windsh.html#top">windsh</a></b> usage and its options.<p><dt><b>-n | -noinit</b><dd>Do not read the normal Tcl initialization files (see FILES section) when theshell starts. <p><dt><b>-p <i>value</i> | -poll <i>value</i></b><dd>Set polling interval (in msec) for WindSh internal event list. Defaultis 200 msec. This event list is filled by the asynchronous eventnotification, no request is made to the Target Server.<p><dt><b>-q | -quiet</b><dd>Turns on quiet mode. In quiet mode, commands read from a scriptare not printed as they are read. This also affects command printingwhen <b><a href="./windsh.html#top">windsh</a></b> is started noninteractively (e.g., used in a filter orwith standard input redirected).<p><dt><b>-s <i>file</i> | -startup <i>file</i></b><dd>Execute the commands listed in <i>file</i> after initialization. Thesecommands are interpreted by the shell's C interpreter.<p><dt><b>-T | -Tclmode</b><dd>Start session in Tcl mode.<p><dt><b>-v | -version</b><dd>Print Tornado version. </dl><p></blockquote><h4>ENVIRONMENT VARIABLES</h4><blockquote><p><p><dl><dt><b>WIND_BASE</b><dd>root location of the Tornado tree.<p><dt><b>WIND_REGISTRY</b><dd>host on which the Tornado Registry daemon runs (see <b><a href="./wtxregd.html#top">wtxregd</a></b>). </dl><p></blockquote><h4>FILES</h4><blockquote><p>The following resource files are required by the shell's Tcl interpreter:<dl><dt>$<b>WIND_BASE</b>/host/resource/tcl/shell.tcl<dd>WindSh Tcl entry point.<p><dt>$<b>WIND_BASE</b>/host/resource/tcl/shellDbgCmd.tcl<dd>Tcl implementation of WindSh <b>debug</b> commands.<p><dt>$<b>WIND_BASE</b>/host/resource/tcl/shellMemCmd.tcl<dd>Tcl implementation of WindSh <b>memory</b> commands.<p><dt>$<b>WIND_BASE</b>/host/resource/tcl/shellShowCmd.tcl<dd>Tcl implementation of WindSh <b>show</b> commands.<p><dt>$<b>WIND_BASE</b>/host/resource/tcl/shellTaskCmd.tcl<dd>Tcl implementation of WindSh <b>task</b> commands.<p><dt>$<b>WIND_BASE</b>/host/resource/tcl/shellUtilCmd.tcl<dd>Tcl implementation of WindSh <b>util</b> commands.<p><dt>$<b>WIND_BASE</b>/host/resource/tcl/shelcore.tcl<dd>Tcl implementation of the shell core routines.<p><dt>$<b>WIND_BASE</b>/host/resource/tcl/sh-<i>arch</i>.tcl<dd>Target architecture-specific constants for shell Tcl implementation.<p><dt>$<b>WIND_BASE</b>/host/resource/tcl/hostShowCore.tcl<dd>Tcl implementation of the <b><i><a href="./windsh.html#hostShow">hostShow</a></i>( )</b> core routine. <p><dt>$<b>WIND_BASE</b>/host/resource/tcl/icmpstatShowCore.tcl<dd>Tcl implementation of the <b><i><a href="./windsh.html#icmpstatShow">icmpstatShow</a></i>( )</b> core routine. <p><dt>$<b>WIND_BASE</b>/host/resource/tcl/ifShowCore.tcl<dd>Tcl implementation of the <b><i><a href="./windsh.html#ifShow">ifShow</a></i>( )</b> core routine. <p><dt>$<b>WIND_BASE</b>/host/resource/tcl/inetstatShowCore.tcl<dd>Tcl implementation of the <b><i><a href="./windsh.html#inetstatShow">inetstatShow</a></i>( )</b> core routine. <p><dt>$<b>WIND_BASE</b>/host/resource/tcl/ipstatShowCore.tcl<dd>Tcl implementation of the <b><i><a href="./windsh.html#ipstatShow">ipstatShow</a></i>( )</b> core routine. <p><dt>$<b>WIND_BASE</b>/host/resource/tcl/routestatShowCore.tcl<dd>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -