我刚刚了解.natvis
了 Visual Studio 中的文件,并且一直在为我的 Ruby C++ 扩展项目设置一些文件。http://msdn.microsoft.com/en-us/library/jj620914.aspx
但是,然后我尝试在条件语句中使用 Ruby 宏之一,然后出现错误:
Natvis: C:\Users\Thomas\Documents\Visual Studio 2013\Visualizers\SUbD.natvis(79,4): Error: identifier "NIL_P" is undefined
Error while evaluating 'NIL_P(value_)' in the context of type 'SUbD.so!SUbD::ruby::Numeric'.
我正在尝试的规则是:
<Type Name="SUbD::ruby::Numeric">
<DisplayString Condition="NIL_P(value_)">Ruby Numeric: Nil</DisplayString>
<DisplayString>Ruby Numeric: {value_}</DisplayString>
</Type>
在我的项目中,我将 Ruby 的VALUE
类型包装在小型 C++ 包装类中,用于常见类型,例如String
,Hash
等Array
。我已经能够为这些设置 natvis 规则。但是每当我想使用 Ruby 系统中的一些宏时,我总是会出错。
natvis
不能在文件中使用宏吗?