发信人: sanvador()
整理人: webfan(2000-08-08 20:50:13), 站内信件
|
删除符号表
每次你转换你的源代码,Symbol Loader都会以符号表的形式建立.NMS符号文件。 当你载入模块的时候,Symbol Loader将表存在内存中直到你删除表或者重启计算 机。
要删除符号表有以下步骤:
1. 在EDIT(编辑)菜单里选择SYMBOL TABLE(符号表)。
2. 点击你想要删除的表的ID然后单击Remove(删除)按纽。
提示:使用标题栏来按照表的ID、表名、类型、SYM=、NMS大小和版本排序。符号 列表是以升序排列的。
在DOS命令行里使用Symbol Loader
Symbol Loader(LOADER32.EXE)支持命令行界面,这样可以使你在DOS提示符下 使用Symbol Loader的许多特性而不必转到图形界面中去。因此,你能使它自动完 成许多通用任务。
在DOS提示符下使用Symbol Loader之前,用Symbol Loader的图形界面来为你想载 入的每一个模块设置缺省路径以及指定转换和调试设置。Symbol Loader为每一个 文件都保存这些设置,并将在你在DOS提示符下用Loader 32载入或转换文件时使 用它们。参考前面的模块设置一节。
要运行LOADER32.EXE,在包含它的路径下或在SoftICE所指定的搜索路径下启动它 。
命令语法:
LOADER32.EXE有以下语法:
LOADER32 [[option(s)]file-name]
File-name是你想要转换或载入的文件。选项如下:
选项 定义
/EXPORTS 装载文件的导出。
/LOAD 将模块转换成.NMS文件--如果文件不存在的话--并将其载入到SoftIC E中。如果你曾经为这个文件设置了转换和调试设置,LOADER32.EXE使用这些设置 ,如果没有设置的话,LOADER32.EXE按模块类型使用缺省设置。
/LOGFILE 将SoftICE历史记录保存到一个日志文件中。
/NOPROMPT 指示LOADER32.EXE在没找到源文件时不作提醒。
/PACKAGE 将源码和符号信息保存在.NMS文件中。
/TRANSLATE 按照你最后一次转换文件时的设置将模块转换为.NMS文件,如果 没有设置,LOADER32.EXE按模块类型使用缺省设置。
------------------------------------------ -
下面是指定语法命令时的一些策略:
选项不是必须的。如果你仅指定了文件名而不带选项,LOADER32.EXE启动图形界 面并打开这个文件。
同时指定 /TRANSLATE 和 /LOAD 使LOADER32.EXE在载入前先转换模块。
在使用 /EXPORTS 或 /LOGFILE 时不要使用其它选项。
注意:如果你指定了一个选项,LOADER32.EXE并不显示Symbol Loader的图形界面 除非有错误发生。如果LOADER32.EXE遇到错误,它在Symbol Loader窗口显示它。
使用Symbol Loader的命令行工具
NMSYM是一个工具程序,可以使你建立一个批处理过程来完成对SoftICE的转换和 符号信息的载入,或者是其它使用NM32(TM)符号表文件格式的程序。NMSYM提供 了一系列的命令行选项来模拟Symbol Loader的特性,它可完成以下功能:
对独立的模块进行转换并载入符号信息
载入或卸载成组的符号表和模块输出
将SoftICE的历史缓存保存成文件
获得产品版本信息和帮助
下面是每个功能的选项列表:
功能 NMSYM选项
对独立的模块进行转换 /TRANSLATE 或 /TRANS
并载入符号信息 /LOAD
/SOURCE
/ARGS
/OUTPUT 或 /OUT
/PROMPT
载入或卸载成组的符号 /SYMLOAD 或 /SYM
表和模块输出 /EXPORTS 或 /EXP
/UNLOAD
将SoftICE的历史缓存 /LOGFILE 或 /LOG
保存成文件
获得产品版本信息和帮 /VERSION 或 /VER
助 /HELP 或 /H
-------------------------------------------- -
NMSYM命令行的语法
NMSYM.EXE有以下的语法:
NMSYM [option(s)]<module-name>
其中:
选项是由反斜杠(/)后面跟着选项名称来指定。
Module-name是你想要转换或载入的模块名。
下面是一个有效的命令行示例:
NMSYM /TRANSLATE C:\MYPROJ\MYPROJECT.EXE
使用NMSYM来转换符号信息
许多选项包含有附加的开关和指定的文件列表指令。选项指令修改某一方面的选 项,文件列表指令指定对一组文件的操作。
选项指令的语法如下:
/option:<option-specifier>[,<option-specifier>]
选项后跟着一个冒号(:),然后是以逗号分隔指令列表。下面是使用/TRANSLA TE选项和SOURCE以及PACKAGE指令使NMSYM转换源文件和符号文件,然后将源文件 写入NMS符号表中的例子。
/TRANSLATE:SOURCE,PACKAGE
文件指令的语法如下:
/option:<filename|pathname>[;<filename|pathname>]
下面是使用/SOURCE选项和三个路径列表指令。NMSYM转换和载入时在路径列表指 令中搜索源文件。
/SOURCE:C:\myprog\i386;c:\myproj\include;c:\msdev\include;
使用NMSYM来装入模块和符号信息
NMSYM的主要目的是将编译器所生成的模块调试信息转换成NM32的符号格式,然后 将信息放入.NMS文件中。要完成这些,在NMSYM命令行中使用以下的选项和参数:
1. 使用/TRANSLATE选项指定你想生成的符号信息类型。
2. 使用/SOURCE选项指定NMSYM搜索源文件的路径。
3. 如果你想为.NMS文件指定一个可选的文件名,使用/OUTPUT选项。
4. 指定你想要转换的模块名。
NMSYM /TRANSLATE C:\MYPROJ\MYPROJECT.EXE
下面的部分介绍了转换选项.使用这些选项来转换独立模块的符号信息.
/TRANSLATE:<tranlsation-specifier-list>
/TRANSLATE选项让你指定你希望产生的的符号信息类型,以及源代码是否打包进符 号文件里去.其它选项包括强制转换--甚至是符号文件已经即时更新了。
/TRANSLATE选项有不同的选项指令,包括符号信息、打包源码和一个通用的开关 ,ALWAYS。下面解释了这些指令。
符号信息指令
下面的选项列表是符号信息指令,用来决定被转换的符号信息。只能使用一个符 号信息指令。如果你不指定,NMSYM缺省为SOURCE。
符号信息指令 描述
PUBLICS 仅包括公有(全局)符号。不包括静态函数和变量。这个选项与在 MAP文件里的符号信息相似。它产生最小的符号表。
TYPEINFO 仅包括类型信息。不包括符号信息。在你只有高级类型信息而没有 源代码和调试信息时用它。
SYMBOLS 包括所有的符号和类型信息。但不包括源码和行数信息。这个指令 产生比较小的符号表。
SOURCE 这是缺省的转换类型。所有的符号、类型和源码信息都有。
注意:源码信息不是指源文件本身。它是关于源文件的信息,如文件名和行数信 息等。
源码打包指令
源码打包指令决定NMSYM是否将源码附加到.NMS符号文件里。缺省下,NMSYM做以 下工作:
将设备驱动程序模块的源码打包到.NMS文件中。因为它们是在操作系统完全初 始化之前被载入的。
不将在操作系统启动之后运行的程序源码打包。
使用下面的源码打包指令覆盖缺省设置:
源码打包指令 描述
PACKAGE 在.NMS符号文件中包含源码
NOPACKAGE 在.NMS符号文件中不包含源码
注意:如果你将源码打包到.NMS文件中,任何访问这个符号表的人都可获得你的 代码。
ALWAYS指令
缺省时,如果当前符号信息存在的话NMSYM不进行转换。使用ALWAYS指令强迫NMS YM进行转换而不考虑符号信息的状态。
使用/TRANSLATE选项的例子
下面的例子指定了一个模块名而不使用/TRANSLATE选项。因此,转换使用缺省 的模块类型选项完成。
NMSYM myproj.exe
注意:对于Win32应用程序和DLLs而言,缺省是:
/TRANSLATE:SOURCE,NOPACKAGE
对于驱动程序模块,缺省是:
/TRANSLATE:SOURCE;PACKAGE
下面的例子转换VxD的符号信息。它使用了SYMBOLS指令来排除关于源码的信息和 /NOPACKAGE指令阻止NMSYM打包源文件。
NMSYM /TRANSLATE:SYMBOLS,NOPACKAGE C:\myvxd.vxd
下面的例子使用了模块类型的缺省设置并用/ALWAYS指令迫使NMSYM将符号信息转 换成.NMS符号文件。
NMSYM /TRANSLATE:ALWAYS myproj.exe
-------------------------------------------
哎呀...本来今天是想把第四章全部译完的...可惜和同学聊了很久...所以耽误了 。
今天我连汇编语言也没有看...已经落下四天的进程了...呜,很麻烦啊!
总是这样啊~~~~~~~~~~~~~
---------------------
附:
我的电子信箱是: [email protected]
以前的使用手册可以在网易精华区的《软件使用》栏目里找到...也可以到:
Sanvador.yeah.net
站点寻找...呵呵,我的主页很差劲哦!不过过些天我一定改改...希望你可以得 到你需要的东西。
有什么问题,大家一起讨论讨论吧。
-- 无意苦争春
一任群芳妒
零落成泥碾作尘
依旧香如故
※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 61.137.190.44]
|
|