Ricky() 20:22:37
编译的时候可以生成map文件,然后可以根据客户反馈的信息,查找到出错的位置,具体到特定的文件和代码行
iCoding() 20:23:24
那就是这个是只有QQ开发者才会有的了?
Ricky() 20:24:15
嗯。
走尽天涯路() 20:19:07
vc编的都有吗
走尽天涯路() 20:19:17
我还没注意过
Ricky() 20:24:45
默认没有,在设置里面做一些改动就好了
走尽天涯路() 20:19:56
那里改改
Ricky() 20:26:42
在 VC 中,我们可以按下 Alt+F7 ,打开“Project Settings”选项页,选择 C/C++ 选项卡,并在最下面的 Project Options 里面输入:/Zd ,然后要选择 Link 选项卡,在最下面的 Project Options 里面输入: /mapinfo:lines 和 /map:PROJECT_NAME.map 。最后按下 F7 来编译生成 EXE 可执行文件和 MAP 文件。
Ricky() 20:27:02
MASM里面也可以做类似的设置
走尽天涯路() 20:29:33
E:\>type qw.map
Start Stop Length Name Class
00000H 001FFH 00200H STACK STACK
00200H 00269H 0006AH DSEG DATA
00270H 00299H 0002AH CSEG CODE
002A0H 002DDH 0003EH CSEG CODE
Program entry point at 0027:0000
走尽天涯路() 20:29:55
每段都看的挺清楚
走尽天涯路() 20:31:54
我用的masm5
走尽天涯路() 20:32:12
和 vc的map文件差不多吧
Ricky() 20:37:46
可以包含更多的内容
走尽天涯路() 20:33:06
那需要设置吗
走尽天涯路() 20:33:34
刚才的是x86生成的
走尽天涯路() 20:33:50
不是vc
Ricky() 20:40:00
如果是MASM的话,link的时候插入一些连接选项
Ricky() 20:40:05
/mapinfo:exports /mapinfo:lines /map:%1.map
Ricky() 20:40:35
表示加入exported functions和行信息
Ricky() 20:40:47
这样可以知道某个函数的入口是多少多少
Ricky() 20:41:37
客户只要报告出错提示中的内存位置,你就可以查找到最接近的函数入口,知道是什么函数
Ricky() 20:42:33
甚至根据代码行信息,直到崩溃位置在源代码中的代码行号。
走尽天涯路() 20:37:56
怎么知道
iCoding() 20:43:08
汇编我的硬伤哈...
走尽天涯路() 20:38:33
你找个 简单的例子看看好吧
Ricky() 20:44:03
如果不想自己换算查找,甚至可以找到查询map文件的小工具,现在有这样的小软件
走尽天涯路() 20:38:54
我这在网吧 刚用的汇编
走尽天涯路() 20:39:52
我呆抽空看看 map文件什么样
走尽天涯路() 20:40:21
你的方法我记下先
走尽天涯路() 20:40:34
谢谢 ricky
Ricky() 20:46:19
不客气,你可以从网上找一个叫做MapTools的小软件,我以前都是自己换算的,现在方便多了。
走尽天涯路() 20:41:40
恩,
走尽天涯路() 20:41:55
我去搜搜