В GDB можно распечатать переменную после выполнения оператора, но до того, как сфера выходит?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 В GDB можно распечатать переменную после выполнения оператора, но до того, как сфера выходит?

Сообщение Anonymous »

Я отлаживаю программу C/C ++ с использованием GDB. Я хочу распечатать значение переменной сразу после выполнения конкретного оператора, но до выхода текущего объема (например, функции или тела цикла).

Код: Выделить всё

for (int i = 0; i < 10; ++i) {
int x = i * 2;  // I want to print x *after* this line, but before leaving the scope
}
Things I've tried:
  • Setting a breakpoint on the line and using next to run: will leave the scope, cannot print x.
  • using stepi: low level details seem to matter -- i don't know when to stop.
Is there a reliable way in GDB to:
  • Wait until a statement finishes executing,
  • Still be inside the same scope (so local variables are alive), and
  • Print a variable
I'm open to scripting solutions or using probe, finish, stepi, etc., as До тех пор, пока это может работать надежно через такие краевые случаи (лучше может быть автоматизировано).
Заранее!

Подробнее здесь: https://stackoverflow.com/questions/796 ... but-before
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»