如何在 VS 2003 中调试 Word 加载项 (.wll)

Posted

技术标签:

【中文标题】如何在 VS 2003 中调试 Word 加载项 (.wll)【英文标题】:How to debug a Word Add-in (.wll) in VS 2003 【发布时间】:2009-02-24 21:10:36 【问题描述】:

我正在尝试附加到 Word 并在我刚刚访问的 C++ (MFC) 源代码中设置断点。我以前从未这样做过,希望我省略了一些简单的步骤。到目前为止,我已经能够:

在 VS 中编译源代码(这会生成 .obj 文件和 .pdb 文件,但没有 .wll 文件,这会造成混淆) 在 VS 中附加到 Word,当我在 Word 中运行加载项时,我可以全部破解并查看反汇编代码 找到在 VS 的模块窗口中运行的 myAddin.wll(VS 说没有加载符号)

我没能做到:

加载调试符号。当我在模块窗口中右键单击 myAddin.wll 并尝试加载 myAddin.pdb 时,VS 会忽略我 在 myAddin.cpp 中设置一个断点并点击它

我遗漏了什么明显的东西吗?您知道这方面的任何好的参考资料吗?

【问题讨论】:

【参考方案1】:

您可以尝试将 Word 设置为按 F5 时要运行的应用程序,而不是附加到 Word。属性、调试、命令。至少这对我有用。

【讨论】:

【参考方案2】:

我的第一个猜测是 Word 正在加载的 .wll 文件不是您刚刚构建的文件,因此 Word 正在加载没有任何调试信息的版本。

第一步是找出您在 Visual Stdio 中构建的 .wdll 文件的实际输出位置。打开项目的“属性”窗口并检查“常规/输出目录”和“链接器/常规/输出文件”以查看项目输出的内容。这应该足以让您找到它,并与 Explorer 确认它正在实际构建中。

当您附加到 Word 并加载加载项时,您应该会在 Visual Studio 输出中看到一条消息,指示您的 .wll 文件已加载。该消息应该给出加载它的完整路径 - 如果这不是您的项目的输出,那是第一个问题。我建议您将新的 .wll 文件复制到 Word 从中加载 .wll 的任何位置。

【讨论】:

以上是关于如何在 VS 2003 中调试 Word 加载项 (.wll)的主要内容,如果未能解决你的问题,请参考以下文章

COM加载项是不是可以用于OUTLOOK 2003版本

word2003怎样打开docx文件

如何给文档加密

Outlook 加载项迁移到 vs 2010

vs下如何调试Dll

.Net用VS 2012远程调试Win2003网站