2009-08-03 83 views
0

我想调试一个老的VC6 DLL,我设法通过代码,但不幸的是我的VC9调试器不显示在DLL中的变量的内容。 (我猜的浏览信息)浏览VC6 DLL变量内容(调试)

我在VC6中调试时看到了我的dll的内容,但我更愿意能够在与托管代码同时进行调试。

也许我错过了我的VC6项目中的一些编译参数。如果有人有任何想法会很棒,那我会花很多时间。

由于提前, 鲍里斯

回答

1

开始(我认为)与VC8(VS2005)调试器不再支持CODEVIEW符号,所以你需要确保当你建立VC6的DLL您指定它创建一个PDB符号文件。

在命令行是/ PDB:

在IDE中去的项目的链接选项卡和调试类 - 确保“调试信息”和“微软格式”被选中。

VS2008的调试器应该能够加载和使用VC6 PDB符号。有趣的是,当调试一个VC6二进制文件时,VS2008调试器不会在'Locals'窗口中显示任何变量,但它在'Autos'和'Watch'窗口中显示它们的值很好,并且还会显示它们的值在工具提示弹出窗口中。奇怪的。

+0

它实际上工作,但只为少数变量,但不是全部。没有在正确的位置生成pdb文件。我无法在调试中设置所有变量,认为这是不同种类字符串的问题(VC6再次使用VC9不使用相同的basic_string)。但如果有人知道如何调试! – 2009-08-07 17:34:59