6

我想在 VC6 监视窗口中获取 char[] 变量的完整值,但它只显示截断版本。我可以从调试内存窗口复制值,但其中包含混合行的十六进制和字符串值。肯定有更好的方法吗??

4

6 回答 6

4

对于大字符串,您几乎被内存窗口卡住了——工具提示最终会被截断。

幸运的是,内存窗口很容易从中获取数据 - 我倾向于以 8 字节块的形式显示它,因此它易于管理,找到您的字符串数据并将该批次剪切并粘贴到空白窗口中,然后使用 alt+drag 选择列并删除十六进制值。然后从字符串的底部开始并不断向上翻页/删除(换行符)以构建您的字符串(我为该位使用宏)。

一旦你得到长字符串,我认为没有更好的方法。

于 2008-09-19T18:46:07.767 回答
1

推来推去你可以把手表

给定

char bigArray[1000];

手表:

&bigArray[0]
&bigArray[100]
&bigArray[200]
...

或更改要查找的字符串中的索引...

它很笨重,但它在过去对我有用。

于 2008-09-19T17:48:31.400 回答
1

我没有VC6了,所以我不能尝试。我不知道它是否有效,但也许你可以输入

(char*)textArray;

在监视窗口中。

更好的解决方案可能是:VS2008 会自动以您想要的方式显示文本。并且有一个免更改的VS2008 Express Edition,据我所知,可以用来开发商业应用程序。您甚至可以尝试继续使用 VC6 进行开发,仅使用 VS2008 进行调试。使用 VS2003 是可能的。大约 5 年前,我不得不维护一个使用 VC6 开发的应用程序。我一直使用 VC6 进行开发,但调试时我使用了 VS2003。

于 2008-09-19T18:29:26.433 回答
1

我见过的唯一技术是观察字符串,然后观察字符串 + 50、+ 100 等。

Eugene Ivakhiv 为 msvc 6 编写了一个插件,可让您在编辑框中显示完整的字符串。

于 2008-09-19T21:54:51.933 回答
1

VC6 有一个可爱的插件,叫做XDebug。它添加了一个用于查看不同类型字符串的对话框。它对我很有用。

于 2010-06-26T21:54:28.780 回答
0

也许,习惯于创建日志文件,并直接将输出写入文件,然后在您最喜欢的文本编辑器中打开。

于 2008-09-19T20:15:01.593 回答