Я хочу получить полное значение переменной char [] в окне наблюдения VC6, но оно показывает только усеченную версию. Я могу скопировать значение из окна памяти отладки, но оно содержит смешанные строки шестнадцатеричных и строковых значений. Неужто есть способ лучше ??





Нажмите, чтобы толкнуть, вы можете положить часы
данный
char bigArray[1000];
смотреть:
&bigArray[0]
&bigArray[100]
&bigArray[200]
...
или измените индекс того места в строке, которое вы хотите найти ...
Это неуклюже, но в прошлом у меня работало.
VC6 у меня больше нет, поэтому попробовать не могу. Не знаю, работает ли, но может зайти можно
(char*)textArray;
в окне часов.
Возможно, лучшее решение: VS2008 автоматически отображает текст так, как вы хотите. И есть Express Edition для VS2008 без изменений, который, насколько мне известно, можно использовать для разработки коммерческих приложений. Вы даже можете попробовать продолжить разработку с VC6 и использовать VS2008 только для отладки. С VS2003 это стало возможно. Около 5 лет назад мне пришлось поддерживать приложение, которое было разработано с помощью VC6. Я продолжал использовать VC6 для разработки, но для отладки я использовал VS2003.
Для больших строк вы в значительной степени застряли в окне памяти - всплывающая подсказка в конечном итоге обрезается.
К счастью, из окна памяти легко получить данные - я обычно показываю его 8-байтовыми фрагментами, чтобы им было легко управлять, найти строковые данные, вырезать и вставить участок в пустое окно, затем использовать alt + перетаскивание для выбора столбцов и удалите шестнадцатеричные значения. Затем начните с нижней части строки и непрерывно переходите на страницу вверх / удаляйте (новую строку), чтобы построить вашу строку (я использую макрос для этого бита).
Я не думаю, что есть лучший способ, если у тебя длинные струны.
Это метод, который я сейчас использую, но я хотел бы добавить предостережение для других: когда вы вставляете как текст и редактируете, вам нужно учитывать возможность встроенных нулей, которые усекают строку, но преобразуются в непечатаемые символы. Это в сочетании с «мусором» в памяти может сделать строку длиннее, чем она есть на самом деле.
Возможно, вы привыкнете создавать файлы журналов и записывать вывод напрямую в файл, а затем открывать в своем любимом текстовом редакторе.
Единственная техника, которую я видел, - это смотреть на струну. затем строка + 50, + 100 и т. д.
Евгений Ивахив написал добавить в для msvc 6, который позволяет отображать полную строку в поле редактирования.
Есть симпатичный плагин для VC6 под названием XDebug. Он добавляет диалог для просмотра различных типов строк. У меня это сработало.
Я только что установил это, и он прекрасно работает! В Windows 7 (и, возможно, в других более новых ОС) возникали сложности при использовании инструкций по установке, прилагаемых к плагину. Вы должны запустить cmd с правами администратора и использовать команду regsvr32 \path\XDebug.dll. Затем следуйте инструкциям по установке. Если вы этого не сделаете, плагин не сможет зарегистрироваться. Я отредактировал ответ, указав прямую ссылку, а не ссылку на трудночитаемый блог.
Приведение не будет работать, поскольку проблема в том, что VC6 обрезает строки в окне просмотра. например ваш пост будет отображаться как «У меня нет ...» без возможности получить оставшуюся часть строки, не открывая окно памяти. Экспресс-идея VC2008 должна работать.