我们都知道softice支持符号调试。而很少了解TRW2000也具有自动载入sym符号文件供调试的作用。
为了对Visual Basic 6进行符号调试,首先需要得到msvbvm60.dll及相对应的msvbvm60.dbg调试文件,这些可以从microsoft网站的VB6 SP5升级包中得到。
在你安装softice的目录\Util16下,有2个程序:Dbg2map及msym.exe
dos窗口下命令
c:\..\softice\util16 dbg2map.exe msvbvm60.dbg
生成msvbvm60.map文件
c:\..\softice\util16 msym.exe
msvbvm60.map
生成msvbvm60.sym文件
将msvbvm60.sym文件放在trw2000.exe所在目录下,运行trw时会自动载入sym文件。
由此我们可以得到msvbvm50.sym、oleaut32.sym文件并一并载入。当多个sym被载入后可以在trw2000中下命令
sym
来选择当前使用的sym文件。
所以,我们将可以直接用exdec反编译得到的vb pcode助记符设断拦截。也可以在用trw进行跟踪时获得更多的程序信息。
注意:
1. 个人使用后体会,trw2000 1.23版本中,利用vb pcode助记符设断经常会出错,表现在trw不能将助记符正确转换为中断地址。
2. 如此也解决一个问题:exdec反编译后生成的pcode助记符名称是谁定义的?
答案是:微软公司