我想调试一段用 C++ 编写的代码。问题在于 dll 是混合的 - 它同时包含 C++ 和 CLI(托管 C++)。环境是VS 2005。
我的入口点是一个非常简单的可执行项目,用 C++ 编写,它只是启动混合 dll 中的代码。
问题是:
如果我让两个项目的“调试类型”为自动,我的断点不会被命中。(稍后编辑:这是正常的,因为 Auto 是基于可执行项目的内容)。
如果我将其设置为“混合”,则断点被命中,但非托管手表为空。例如,我看不到 std::string 的值。但是,我可以看到基本类型,例如 int 和 bool。