Если я помещаю int в окно просмотра Visual Studio, я могу использовать различные дополнения формата, чтобы отображать его по-разному. Итак, если у меня есть «int myVariable = 10;» в коде я могу поместить «myVariable, x» в окно просмотра, чтобы оно отображалось как шестнадцатеричное. Точно так же myVariable, c заставляет его брать младший байт и отображать его как символ. Здесь описаны все приемы форматирования.
Теперь с int я могу сделать это:
(char*)(&myVariable),4
Знак «, 4» означает отображение 4 значений массива. Это позволит мне увидеть целое число как строку из 4 символов - это какое-то старое программное обеспечение, с которым я работаю, которое имеет кучу 4-символьных кодировок. Но я не могу проделать этот трюк со значением, возвращаемым функцией:
(char*)(&foo()),4
потому что я не могу взять адрес возвращаемой функции. Окно просмотра сообщает об ошибке.
Кто-нибудь знает трюк, в котором я могу поместить функцию в окно просмотра и отформатировать ее целочисленное возвращаемое значение как строку символов?
@Tim, помещающий функцию в окно просмотра, работает нормально. Да, он вызывает функцию. Очень полезно для отладки.
Я не верю, что вы можете манипулировать значением, возвращаемым функцией, отображаемым в окне локальных переменных, но вы можете скопировать фактическое возвращаемое значение в окно просмотра и сделать это там.
@SoronelHaetir Я не могу взять адрес целочисленной константы в окне просмотра, поэтому я все еще не могу преобразовать его как (char *), поэтому нет, я все еще не могу манипулировать им, чтобы увидеть его как четыре символа. (Даже если бы это сработало, все равно было бы проблематично, если бы мне приходилось изменять окно просмотра каждый раз, когда я взламываю код ... весь смысл в том, чтобы часы показывали мне значение по мере его изменения. Я просто хочу видеть это как персонажи.)





Если вы просто хотите посмотреть значение, возвращаемое функцией, вы, вероятно, сможете найти временную переменную, которой назначен возврат. Но я не думаю, что вы можете «поместить функцию в окно просмотра». Visual Studio нужно будет вызывать вашу функцию каждый раз, когда она хочет обновить отображение, и я не думаю, что она делает такие вещи.