Отладка "однострочных" методов - PullRequest
0 голосов
/ 11 апреля 2011

представьте (в заголовочном файле):

int getInt() { return m_intValue; }

и

int getInt() 
{
    return m_intValue;
}

как мне отладить первый пример, чтобы увидеть m_intValue?В примере 2 я могу установить точку останова в первой строке, нажать F10 (шаг) и затем посмотреть (после наведения m_intValue), что находится в m_intValue.Или просто добавьте BP в return m_intValue строку.

Но когда я помещаю BP в строку в первой версии, я не вижу отладочной информации m_intValue.

Этот пример является просто демонстрационным.Я знаю, что вижу значение на месте, где я звоню getInt (см. Как возвращаемое значение).Но в более сложных случаях (например, возвращаемое значение изменено из-за того, что что-то выходит за рамки), я действительно хочу видеть m_intValue во время обработки возврата.

Надеюсь, вы понимаете мой вопрос.Спасибо!

1 Ответ

3 голосов
/ 11 апреля 2011

Вы получите точку останова с неверным кодом. Это нарушает точку входа в функцию, переменная this еще не будет инициализирована. Вы определенно хотите предпочесть второй стиль кодирования, если вы хотите отлаживать эти методы доступа. Что вы не должны, это не ошибка.

Если вам действительно необходимо проверить объект с помощью кода, записанного в 1-м фрагменте, то переключитесь в режим разборки и пройдете один шаг за кодом установки стекового фрейма.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...