未触发 c++/WinRT 组件代码中的断点

The break point in c++/WinRT Component code is not triggered

我正在尝试将 macOS 应用程序迁移到 UWP

有一些c++代码需要复用,我把它们放在了一个WinRT/c++组件中。

然后我将它添加到 UWP 应用程序的程序集引用并将其设置为混合调试类型。 我在c++/WinRT组件代码中设置断点并重建项目。

最近打开UWP应用build/run调用WinRT/C++组件,一切正常,除了c++代码中的断点没有触发

欢迎您的评论

--------------------------------更新问题(2020 年 10 月 5 日)

我尝试创建一个简单的组件并添加到一个空白的 C# 应用程序 它可以正常工作并正确调用组件。 但仍然无法触发WinRT/c++代码

中的断点

--------------------------------更新问题(2020 年 10 月 4 日)

c++/WinRT 组件

c#应用程序

--------------------------------更新问题(2020 年 10 月 3 日) WinRT/C++组件代码断点

一个新项目只需调用 WinRT/C++ 组件


经过我的搜索和测试,我得出了这些想法和解决方案,首先,从最简单的开始。

请确保您没有自己禁用该断点,您可以在任何断点上使用键盘快捷键 Ctrl + F9 或 right-click 并单击禁用断点。

您可以使用 -g 命令参数或标记编译您的解决方案,您可以在解决方案属性、调试中找到它。

最后一个是更改调试器类型,您可以将其从混合切换为混合(托管和本机)、仅托管或仅本机或 vice-versa。

我会为你搜索和测试更多。

这是@YanGu - MSFT 的回答

If you want to trigger a break point in your C++/WinRT Component, the component project should be in the same solution as the UWP app. Then set the debugger type as Mixed(Managed and Native)