首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C++/WinRT natvis在新安装中不工作

C++/WinRT natvis在新安装中不工作
EN

Stack Overflow用户
提问于 2020-12-04 06:00:46
回答 1查看 292关注 0票数 1

我怎么能麻烦-拍这个?

我将this question中的natvis示例与C++/WinRT控制台模板结合起来,并成功地获得了Matrix2d工作的natvis,而不是Uri

代码语言:javascript
复制
#include "pch.h"

using namespace winrt;
using namespace Windows::Foundation;

struct Matrix2d
{
    Matrix2d(int r, int c) : m_numRows(r), m_numCols(c), m_elements(r* c, 0) {}
    // Column first ordered elements
    std::vector<int> m_elements;
    int m_numRows;
    int m_numCols;
};


int main()
{
    init_apartment();
    Uri uri(L"http://aka.ms/cppwinrt");
    Matrix2d g(4, 3);

    printf("Hello, %ls!\n", uri.AbsoluteUri().c_str());
}

我不确定natvis文件cppwinrt将产生什么(.natvis或.pdb)以及它们将位于何处。

下面是Natvis调试输出。它显示只有我的自定义Natvis文件(\ConsoleApplication2\ConsoleApplication2\NatvisFile.natvis)和系统范围内的Natvis文件(%VSINSTALLDIR%\Common7\Packages\Debugger\Visualizers)正在加载。

Studio\2019\Community\Common7\Packages\Debugger\Visualizers\atlmfc.natvis.:解析

文件: C:\Program (x86)\MicrosoftNatvis:解析natvis文件: C:\Program (x86)\Microsoft Visual Studio\2019\Community\Common7\Packages\Debugger\Visualizers\concurrency.natvis.Natvis:解析natvis文件: C:\Program (x86)\Microsoft Visual Studio\2019\Community\Common7\Packages\Debugger\Visualizers\cpp_rest.natvis.Natvis:解析natvis文件: C:\Program (x86)\Microsoft Visual Studio\2019\Community\Common7\Packages\Debugger\Visualizers\ObjectiveC.natvis.Natvis:解析natvis文件: C:\Program (x86)\Microsoft Visual Studio\2019\Community\Common7\Packages\Debugger\Visualizers\stl.natvis.Natvis:解析natvis文件: C:\Program (x86)\Microsoft Visual Studio\2019\Community\Common7\Packages\Debugger\Visualizers\Windows.Data.Json.natvis.Natvis:解析natvis文件: C:\Program (x86)\Microsoft Visual Studio\2019\Community\Common7\Packages\Debugger\Visualizers\windows.devices.geolocation.natvis.Natvis:解析natvis文件: C:\Program (x86)\Microsoft Visual Studio\2019\Community\Common7\Packages\Debugger\Visualizers\windows.devices.sensors.natvis.Natvis:解析natvis文件: C:\Program (x86)\Microsoft Visual Studio\2019\Community\Common7\Packages\Debugger\Visualizers\windows.media.natvis.Natvis:解析natvis文件: C:\Program (x86)\Microsoft Visual Studio\2019\Community\Common7\Packages\Debugger\Visualizers\windows.natvis.Natvis:解析natvis文件: C:\Program (x86)\Microsoft Visual Studio\2019\Community\Common7\Packages\Debugger\Visualizers\winrt.natvis.Natvis:解析natvis文件: C:\Users\a\source\repos\ConsoleApplication2\ConsoleApplication2\NatvisFile.natvis.Natvis:忽略ConsoleApplication2.pdb中的NatvisFile.natvis;加载的项目中已经存在同名的文件。Natvis: C:\Users\a\source\repos\ConsoleApplication2\ConsoleApplication2\NatvisFile.natvis(17,6):成功地在上下文'Matrix2d‘中解析了表达式'0’。Natvis: C:\Users\a\source\repos\ConsoleApplication2\ConsoleApplication2\NatvisFile.natvis(18,6):成功地在上下文'Matrix2d‘中解析了表达式'i < m_numRows’。Natvis: C:\Program (x86)\Microsoft Visual x86成功地解析了上下文类型为'std::vector‘的表达式'_Mypair._Myval2._Myend - _Mypair._Myval2._Myfirst’。Natvis: C:\Program (x86)\Microsoft Visual x86成功地解析了上下文类型为'std::vector‘的表达式'_Mypair._Myval2._Mylast - _Mypair._Myval2._Myfirst’。Natvis: C:\Program (x86)\Microsoft Visual Studio\2019\Community\Common7\Packages\Debugger\Visualizers\stl.natvis(1064,29):成功地在上下文类型'std::vector中解析了表达式'size()‘。Natvis: C:\Program (x86)\Microsoft Visual Studio\2019\Community\Common7\Packages\Debugger\Visualizers\stl.natvis(1066,52):成功地解析了上下文类型为'std::vector‘的表达式“能力()”。Natvis: C:\Program (x86)\Microsoft Visual x86成功地在上下文'std::vector‘中解析了表达式'_Mypair’。Natvis: C:\Program (x86)\Microsoft Visual Studio\2019\Community\Common7\Packages\Debugger\Visualizers\stl.natvis(1069,15):成功地在上下文类型'std::vector中解析了表达式'size()‘。Natvis: C:\Program (x86)\Microsoft Visual x86成功地在上下文'std::vector‘中解析了表达式'_Mypair._Myval2._Myfirst’。Natvis: C:\Users\a\source\repos\ConsoleApplication2\ConsoleApplication2\NatvisFile.natvis(19,23):成功地在上下文'Matrix2d‘中解析了表达式'&m_elementsi * m_numCols,m_numColsna’。Natvis: C:\Users\a\source\repos\ConsoleApplication2\ConsoleApplication2\NatvisFile.natvis(19,8):成功地在上下文'Matrix2d‘中解析了表达式'i’。Natvis: C:\Users\a\source\repos\ConsoleApplication2\ConsoleApplication2\NatvisFile.natvis(20,12):成功地在上下文'Matrix2d‘中解析了表达式'++i’。

这是新安装的Windows 10和VS19 (16.8.2)。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-12-07 10:50:31

看起来cppwinrt团队已经从v6插件中删除了Visualizer:

从V6 #792 - https://github.com/microsoft/cppwinrt/pull/792中删除Visualizer

我不知道为什么他们决定移除Visualizer,但我设法让Visualizer再次工作了

https://github.com/microsoft/cppwinrt

  • add“调用.nuget\nuget.exe还原vsix\vsix.sln”到"build_vsix.cmd“,否则,我在步骤4中出现了一个错误:一些nuget包是missing.

  • create,文件"build_vsix.cmd“使用2019年开发人员prompt.

  • remove (当前的C++/WinRT插件),并安装创建的插件(at ./v6/bin/x86/

/ )

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65138675

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档