0

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

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

我无法:

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

有什么明显的我失踪了吗?您知道这方面的任何好的参考资料吗?

4

2 回答 2

3

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

于 2009-02-25T08:35:28.340 回答
1

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

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

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

于 2009-02-26T12:01:28.167 回答