浏览 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 时结构参数的传递