浏览 VC6 DLL 变量内容(DEBUG)

Posted

技术标签:

【中文标题】浏览 VC6 DLL 变量内容(DEBUG)【英文标题】:Browse VC6 DLL variables content (DEBUG) 【发布时间】:2009-08-03 23:49:44 【问题描述】:

我正在尝试调试旧的 VC6 dll,我设法通过代码,但不幸的是,我的 vc9 调试器没有显示 dll 中变量的内容。 (我猜是浏览信息)

当我在 VC6 中调试我的 dll 时,我设法看到了它的内容,但我希望能够与我的托管代码同时进行调试。

也许我在我的 VC6 项目中遗漏了一些编译参数。如果有人有任何想法会很棒,我会赢得很多时间。

提前致谢, 鲍里斯

【问题讨论】:

【参考方案1】:

从 VC8 (VS2005) 开始(我认为)调试器不再支持 Codeview 符号,因此您需要确保在 VC6 中构建 DLL 时指定它创建一个 PDB 符号文件。

在命令行中是 /PDB:

在 IDE 中,转到项目的“链接”选项卡和“调试”类别 - 确保选择“调试信息”和“Microsoft 格式”。

VS2008 的调试器应该能够加载和使用 VC6 PDB 符号。

有趣的是,在调试 VC6 二进制文件时,VS2008 调试器不会在“Locals”窗口中显示任何变量,但它会在“Autos”和“Watch”窗口中显示它们的值,并且还会在工具提示弹出窗口。很奇怪。

【讨论】:

它确实有效,但仅适用于少数变量,但并非全部。 pdb 文件未在正确的位置生成。我没有设法在调试中包含所有变量,认为这是不同类型字符串的问题(VC6 和 VC9 没有使用相同的 basic_string)。但如果有人知道如何调试它!

以上是关于浏览 VC6 DLL 变量内容(DEBUG)的主要内容,如果未能解决你的问题,请参考以下文章

2015.3.5 VS2005调用VC6 dll 时结构参数的传递

VC6.0 设置动态链接库工程生成dll以及lib文件的位置

vc6.0在win7上运行结果总是很快就消失怎么回事

急求:opencv1.0与vc6.0设置

Python基础之注释变量Debug调试数据类型

如何获得dll中的函数、接口和字符串?