我如何获得 std::pair<char *, char *>
在 Visual Studio 中显示为正确的字符串段,而不是显示为两个指向空终止字符串的指针?
最佳答案
创建 %UserProfile%\Documents\Visual Studio 2015\Visualizers\custom.natvis
(显然将 2015
替换为您的 Visual Studio 版本),然后尝试类似以下内容:
<?xml version='1.0' encoding='utf-8'?>
<AutoVisualizer xmlns="http://schemas.microsoft.com/vstudio/debugger/natvis/2010">
<!-- For more information on how to create debugger visualizers, refer to:
https://msdn.microsoft.com/en-us/library/jj620914.aspx
https://msdn.microsoft.com/en-us/library/75w45ekt.aspx
-->
<Type Name="std::pair<*,*>">
<DisplayString Condition="*second - *first >= 0">{first,[second - first]}</DisplayString>
</Type>
<Type Name="std::pair<*,*>">
<DisplayString Condition="*second._Ptr - *first._Ptr >= 0">{first._Ptr,[second._Ptr - first._Ptr]}</DisplayString>
</Type>
</AutoVisualizer>
结果:
关于c++ - 如何让 std::pair<char *, char *> 在 Visual Studio 的调试器中显示为正确的字符串段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49416995/