2013-08-18 3 views
0

Так что я пытаюсь отладить код. Но по какой-то причине он не проходит через раздел, в котором я нуждаюсь. Управляющая переменная, которая вызывает фрагмент кода, является указателем «* sret». Я много пробовал, но не повезло. Его программа на C. Есть ли способ привязать точку наблюдения к переменной? так как он не распознает переменную ... Однако он распознает файл.Прикрепить отладчик totalview к переменной

ответ

0

@Ban,

Если вы используете отладчик TotalView, то это большой вопрос. Да, мы обеспечиваем точки наблюдения. Однако они устанавливаются в местах памяти, а не в переменных. Это различие важно, потому что если вы представляете себе функцию, которая вызывает себя рекурсивно и локальную переменную X в этой функции. Вы можете запустить программу для этой функции, погрузиться в X и установить на ней точку наблюдения. Контрольная точка будет вызываться, если этот конкретный экземпляр X (который указывает на это место памяти в стеке) записывается в. Мы не остановимся, если, например, функция снова вызовет себя (что эффективно создает новый, отличный, X в другом месте в стеке) и записывается второй X.

Некоторые другие возможности, которые могут оказаться полезными:

  • Вы можете установить значение переменной непосредственно в отладчике. Вы можете использовать это, чтобы убедиться, что если переменная имеет «правильное» значение, программа будет вести себя так, как вы ожидаете.

  • Вы можете пошагово инструктировать по части программы, в которой вы ожидаете, что она должна принять решение перейти по пути кода, который вы ищете, чтобы войти. Отображение кода источника и сборки полезно для такого рода отладки.

  • Если вы находитесь на платформе linux-x86-64, вы можете найти функцию ReplayEngine полезной. Это позволяет запускать вперед и назад по вашей программе, что может помочь вам реально ограничить то, что происходит, чтобы ваша программа не делала то, что вы хотите.

Сообщите мне, как вы можете отладить эту проблему. Если бы вы нашли свое решение каким-то другим способом, мне тоже было бы интересно.

Удачи вам!

Крис Gottbrath

Менеджер Основной продукт для TotalView на Rogue Wave Software

электронная почта: первая точка последней в roguewave точка ком