有没有办法改变Visual Studio调试器的默认行为,使得当悬停在以null结尾的动态分配的字符数组(C ++)上时,它会显示字符串的全部内容,而不仅仅是第一个字符?
我应该提到我正在使用Visual Studio 2010。如果只能在VS2012中实现这一点,我也很想知道!
有没有办法改变Visual Studio调试器的默认行为,使得当悬停在以null结尾的动态分配的字符数组(C ++)上时,它会显示字符串的全部内容,而不仅仅是第一个字符?
我应该提到我正在使用Visual Studio 2010。如果只能在VS2012中实现这一点,我也很想知道!
void function(char* s)
{
// break here
}
s,s8
如果您知道它是 Unicode 编码,请尝试:
s,su
这甚至适用于任意指针,或者说其他数据类型,例如调试一个QString
的内容:
QString str("Test");
// break here
针对此问题,可能的观察窗口(或调试器)语句如下:
((str).d)->array,su <-- debug QString (Qt4) as unicode char string
(char*)str.d + str.d->offset,su <-- debug QString (Qt5) as unicode char string
0x0c5eae82,su <-- debug any memory location as unicode char string
,s8
或,su
没有效果,请尝试另一种变体。QString
变量的内容等于“Test”,则在一行中中断。 - Baumann