如何在调试期间取消引用指针

时间:2016-10-31 00:14:03

标签: c++ visual-studio pointers visual-studio-debugging

我一次又一次地遇到这类问题所以现在就问。我是一名电子工程师,因此习惯于编写低级代码。我在C ++中使用指针。

我有一个带 char * msg 的函数。当我在函数中使用断点停止执行时,我只能看到char *参数的第一个字节。我怎么得到其余的? char *可能不会以null结尾,也不会是固定大小。假设我可以知道它有多长,我不知道如何告诉 locals 窗口。

Visual Studio有这些东西称为立即和调试窗口。我以前没用过它们?它们可以用于从这个消息中打印任意字符吗?在休息模式?怎么样?

2 个答案:

答案 0 :(得分:1)

尝试向msg添加手表,然后尝试观看msg,10。

您应该观看下10个字符。

类似于下面的屏幕截图:

enter image description here

答案 1 :(得分:0)

我们无法在调试窗口中直接调试它,其他成员之前也问过这种问题,并分享了为什么它只显示了char *参数的第一个字节的原因:

http://www.cplusplus.com/forum/general/23205/

vs2010 c++ view pointers content by debug

在Memory Viewer中,您可以选择查看数据的方式,但是如果要打印地址,可以使用一种解决方法:将其转换为其他类型的指针,例如转换为指向void或其他指针。 / p>