3

我正在为一个项目编写一个 natvis 文件,其中一些结构是“私有”定义的,也就是说在 .c 代码文件而不是标题中。

当我调试定义结构的模块时,调试器会拾取它们,但是在处理其他模块中指向这些结构的指针时,我会丢失所有内部细节并{...}改为查看。我可以通过专门将对象转换为结构的模块限定名称来解决这个问题,例如(MyModule.dll!MyStruct*)MyPointer,这对于一般开发工作来说是可以的。但是在写natvis文件的时候就变得很痛苦了。

我可以创建一个ExpandedItem元素来显示正确投射的对象。但我真正想做的是有多个Item元素来挑选关键变量,如果我这样做了,我就会被“原始视图”困住,只给我{...}. 尝试同时做这两件事会导致递归。this在 natvis 文件中添加很多内容也非常难看。

我可以提示调试器自己识别完整的类型定义吗?

4

0 回答 0