【发布时间】:2017-05-30 22:29:31
【问题描述】:
我不知道如何使用 Visual Studio 2015 调试 COM ATL C++ 进程外 exe 服务器。
对于 COM ATL DLL 没有问题,当我调用 COM dll 时会自动触发断点。但是,当我尝试调试 EXE 服务器时,调试器并没有中断。确实,exe服务器只是按需加载,客户端启动时不会加载exe服务器的调试符号。
调用 COM 服务器的我的客户端是 Excel VBA(我在 VBA 编辑器中通过工具/参考添加了对 com exe 的引用)。为了调试它,我在 Visual Studio Debug 命令中设置 Excel.exe 的路径,并作为参数设置我的 xlsm 文件的路径。然后我只需调用 Excel 中的 VBA 代码。它适用于 com DLL,但不适用于 COM Exe。我也尝试将 VS 附加到 Excel,但没有成功。
我找到了这篇文章 (Windows COM - how to debug a COM server),这似乎是由提升/权限问题引起的,但我尝试了建议的答案,但没有奏效。
有人可以帮我解决这个问题吗?
如何调试进程外 com 服务器?
是否有必要将调试器附加到使用 EXE 服务器的客户端(所以在我的情况下是 excel)?
【问题讨论】: