【发布时间】:2012-12-08 03:07:16
【问题描述】:
我有一个 C++ 解决方案。启动项目是一个exe。在解决方案中,有一些为 COM 互操作注册的 C# dll(针对 .NET Framework 2.0)。当我在 C# 代码中放置断点时,我得到带有"No native symbols in symbol file" 的空心红色断点
我已尝试在调用 COM 方法的启动项目上将 Project Property Pages -> Debugging -> Debugger Type 设置为 Mixed。
我已经检查了Debug -> Windows -> Modules。它已经加载了我的dll,符号状态是"No native symbols in symbol file"。
这不是世界末日,因为如果我先执行Debug -> Start Without Debugging,然后执行Debug -> Attach to Process,将Attach To: 更改为Managed (v2.0, v1.1, v1.0) code, Native code。然后我在 C++ 代码和 C# 代码中都打断点。
所以我有我的解决方法,但我认为我是否可以通过附加到进程来做到这一点 - 我应该能够通过调试来做到这一点。
我如何通过 Debug -> Start Debugging 来达到我的 C# 断点?
【问题讨论】:
-
怀疑是否有可行的方法,我尝试了相同的方法,并花了几个小时尝试这样做,最后还是坚持使用工作正常的附加到进程。
-
很公平,我对使用 attach 来处理它没有任何问题,这只是你不能离开它的事情之一,因为你认为“肯定有办法”
-
我也有这个问题,我想根本问题是“混合”选择了 Native + Managed (v4.0),所以没有办法从启动设置。
标签: c# c++ visual-studio-2010 com .net-2.0