我有一个奇怪的问题。
我在 c++ Visual Studio 2010 中构建的 dll(让我们称之为 my.dll)使用第三方库(比如 tp.lib),该库又调用第三方 dll(比如 tp.dll)。
为了调试目的,我在配置属性->调试->命令中设置:Excel.exe 和配置属性->调试->commandArguments:“$(TargetPath)”
在我的电脑中,我还将 PATH 变量设置为 tp.dll 所在的目录
现在,当我在 Visual Studio 中按下 F5 时,Excel 将打开 my.dll 并崩溃,给出“无法在 Dos 模式下打开”错误。发生这种情况的原因是部署 my.dll 的调试版本时未部署 tp.dll。
当我单独打开 Excel 实例并手动删除 my.dll 的调试版本时,一切正常,我可以看到我在 my.dll 中编写的所有函数
现在唯一的问题是我不知道如何调试,因为我不知道如何将 Visual Studio 附加到我单独打开的 Excel 实例。
我的问题是:
1> 如何将 Visual Studio 附加到已打开的 Excel 实例
或
2> 如何在按下 F5 的同时让 Excel 在开始部署 my.dll 之前从 PATH 变量中指定的目录中获取所需的 tp.dll。
这两者中的任何一个都将允许我单步执行代码以进行调试。
提前致谢。
好吧,我通过反复试验找到了一种方法
现在你在 Visual Studio 中按下 F5。这会将 Visual Studio 编辑器附加到 my.dll 的运行副本,从而允许单步执行代码。
tp.dll
复制到包含 my.dll
的文件夹中。