0

好吧,正如标题所说,我正在尝试为一个名为“EuroScope.exe”的程序制作一个.dll 插件。在最初的几天里,我只是在尝试使用模板制作一个模板(MFC DLL 和使用共享 MFC DLL 的常规 DLL)。

当失败时(当时我不明白为什么),我尝试按照指南制作专门为此程序制作的插件,即使我从示例中打开了一个插件,我也无法启动它。如果我在程序中构建然后打开 .dll,它可以工作,但问题是,我需要从头开始,所以我迫切需要使用断点进行调试和测试。问题就在这里,当我通过“EuroScope.exe”调试它时,它说“'Euroscope.exe' 的调试信息找不到或不匹配。二进制文件没有使用调试信息构建。你想继续调试吗?是不是?” 并且断点说“断点当前不会被命中。没有为此文档加载任何符号”. 我已经为此搜索并完成了数百个解决方案,但没有任何效果(不是“重新安装 Visual Studio”,但是因为我个人讨厌那个解决方案,而且我的 Visual Studio 在其他领域工作正常)。

我所期望的,正如指南所说:“可以调试插件。在项目属性对话框中指定 Euroscope 作为要执行的命令,然后去加载你的 DLL 的调试版本。你将能够在 DLL 中定义断点并正常调试”

我对此感到非常沮丧,因为这是为了我的论文,并且由于这个问题,我在浪费时间,我什至无法开始制作插件本身......

请帮帮我

谢谢

PS:1有关问题的更多信息。调试时(我点击是那个问题)它说:

'EuroScope.exe' (Win32): Loaded 'D:\Thesis\Euroscope\EuroScope.exe'.Module was built without symbols.
EuroScope.exe' (Win32): Loaded 'C:\Windows\SysWOW64\ntdll.dll'.Symbols loaded.
'EuroScope.exe' (Win32): Loaded 'C:\Windows\SysWOW64\kernel32.dll'.Symbols loaded.
....
....
'EuroScope.exe' (Win32): Loaded 'D:\Thesis\Euroscope\EuroScopePlugInDll.dll'.Cannot find or open the PDB file.
'EuroScope.exe' (Win32): Loaded 'C:\Windows\winsxs 22-\x86_microsoft.vc80.mfc_1fc8b
...

你认为这些线与问题有关吗?

4

1 回答 1

0

当您调试不是您构建的程序时,您显示的输出消息是正常的。它们并不表示错误,只是您不能在非调试代码中设置断点。

我假设 EuroScopePlugInDll.dll 是您的项目并且它构建成功。为了能够对其进行调试: (1) 确保您正在构建调试配置,而不是发布配置。(2) 确保你的build生成的dll文件和pdb文件在同一个目录下。您可能必须将它们移动到与 EuroScope.exe 相同的目录。有了它,您应该能够在 dll 源代码中设置断点。

于 2013-06-15T02:11:56.233 回答